LE-01: Каркас приложения
Что сделать
Базовый каркас React-приложения: Layout, роутинг, AuthContext.
Конкретно
web/src/main.tsx— entry point с BrowserRouter + AuthProviderweb/src/App.tsx— роуты с ProtectedRoute (редирект на /login если нет токена)web/src/components/layout/Layout.tsx— sidebar (240px, тёмный) + header + Outletweb/src/contexts/AuthContext.tsx— user state, loading, login/logout, auto-restore из localStorageweb/src/api/client.ts— базовый fetch с Bearer token, auto-refresh при 401- Sidebar: пункты Dashboard (/), Юридические лица (/legal-entities)
- Header: имя пользователя + кнопка Logout
Файлы
web/src/main.tsxweb/src/App.tsxweb/src/components/layout/Layout.tsxweb/src/contexts/AuthContext.tsxweb/src/api/client.ts