Страницы приложения
Все роуты, их назначение и доступ по ролям
Доступны без аутентификации.
| Путь | Назначение |
|---|
/ | Редирект: авторизован → /dashboard, нет → /login |
/login | Вход (email + пароль) |
/forgot-password | Восстановление пароля |
/invite/accept | Принятие приглашения по токену (единственный способ регистрации) |
Все лежат в src/app/(app)/ и наследуют общий layout (Sidebar + Topbar). Видимость пунктов меню определяется в src/components/sidebar/nav-config.ts по роли и permission.
| Путь | Страница | Доступ |
|---|
/dashboard | Обзор: статистика, быстрые действия | клиентские роли |
/directions | Направления | клиентские роли |
/new-task | Создание задачи: Smart Selector, материалы, референсы | task.create |
/tasks | Список задач: фильтры, поиск, пагинация | task.view |
/tasks-target | Таргет-задачи (отдельный список, isTarget=true) | task.view |
/calendar-live | Календарь с drag-and-drop (@dnd-kit) | calendar.view |
/ready-live | Готовый контент: просмотр, приемка, правки, версии | content.view_ready |
/references-live | Референсы: галерея по категориям, загрузка | все роли |
/content-maker | Контент-конструктор (сейчас скрыт из меню) | — |
/safebot | «Скачать Референс» — Instagram downloader | safebot.view |
| Путь | Страница | Доступ |
|---|
/team/dashboard | Главная команды: в работе, очередь, метрики | monster_pm, monster_creator |
/team/queue | Очередь задач | команда + админы |
/team/calendar | Календарь работ команды | команда |
/team/notifications | История уведомлений | команда |
| Путь | Страница | Доступ |
|---|
/admin | Админ-панель (входная точка) | super_admin, monster_admin |
/companies, /companies/[id] | Компании: клиенты и Monster Team | company.view |
/users | Пользователи: роли, permission overrides, приглашения | user.view |
/storage | Хранилище: файлы в R2/MinIO | admin.manage_storage |
/audit-log | Журнал событий: кто, что, когда | audit.view |
/ai | AI Генерация: провайдеры, бюджет, usage | admin.manage_ai_budget (только super_admin) |
| Путь | Назначение |
|---|
/ui-kit | Демо всех UI-компонентов (кнопки, пагинация, цвета) |
/smart-selector-demo | Демо Smart Selector |
/toast-demo | Демо Toast-уведомлений |
- Создать
src/app/(app)/<route>/page.tsx — layout наследуется автоматически.
- Если роль не должна видеть страницу — добавить guard в
src/lib/auth/redirects.ts.
- Пункт меню — в
src/components/sidebar/nav-config.ts (массивы NAV_CLIENT / NAV_TEAM / NAV_ADMIN_BASE).
- Данные — через TanStack Query хук в
src/hooks/ или src/lib/api/hooks/.