|
All checks were successful
CI / changes (pull_request) Successful in 10s
CI Trade-In / changes (pull_request) Successful in 10s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Successful in 1m11s
`/trade-in/` редиректит на `/trade-in/v2`, а v2-навигация (TopNav.tsx) не знала про team-дашборд вообще — пункт «Команда» был только в legacy Topbar.tsx (NAV_ITEMS), который на v2-страницах не рендерится. Дашборд существовал, но был недостижим кликом. - app/v2/page.tsx: showTeamNavItem — тот же двойной гейт, что и Topbar.NAV_ITEMS "team" (isPathAllowed(/api/v1/team) + роль admin/manager), передаётся в TopNav. - v2/TopNav.tsx: пункт «Команда» в user-меню рядом с «Выйти» (не таб SectionOverlay — /team отдельный роут, а не секция текущей страницы). Второй дефект: team-API требует session-cookie, легаси Caddy-роль (/me 200) через него не проходит → GET /api/v1/team/employees отдаёт 401, UI показывал невнятную красную плашку. app/team/page.tsx теперь ловит 401 отдельно от 403 и уводит на /login?next=/team (тот же redirect-паттерн, что RouteGuard.tsx для 401 от /me; в dev — сообщение с кнопкой «Войти» вместо авто-редиректа, тот же NODE_ENV-гейт что и в RouteGuard). |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .dockerignore | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| next.config.ts | ||
| package.json | ||
| pnpm-lock.yaml | ||
| tsconfig.json | ||