AUTH-04: Layout (Sidebar + Header)
Что сделать
Layout авторизованного пользователя: sidebar с навигацией по ролям, header с именем и кнопкой “Выйти”.
Смотри спеку
Секция “После логина: Layout” в Авторизация — Логин.
Конкретно
Sidebar
- Разделы зависят от роли пользователя (из AuthContext)
- Franchise: все разделы (ЮЛ, ТТ, Каталог, Склад, Сотрудники)
- Franchisee: свои разделы (ТТ, Каталог, Склад, Сотрудники)
- Manager: своя ТТ (Каталог, Склад, Сотрудники)
- Cashier: не заходит в админку (redirect)
- Активный пункт подсвечен
Header
- Имя пользователя (
first_name last_name) из AuthContext - Кнопка “Выйти”:
POST /api/v1/admin/auth/logout- Очистить токены
- Redirect
/login
Структура
<Layout>оборачивает контент- Используется только для авторизованных страниц
- Страницы логина, forgot/reset password — без Layout
Файлы
web/src/components/layout/Layout.tsx— создатьweb/src/components/layout/Sidebar.tsx— создатьweb/src/components/layout/Header.tsx— создатьweb/src/App.tsx— обернуть авторизованные роуты в Layout
Зависит от
- AUTH-03 (AuthContext для user и logout)