tradein/auth 6: Frontend — team-дашборд менеджера (сотрудники, квоты, статистика) #2556

Open
opened 2026-07-30 06:21:45 +00:00 by lekss361 · 0 comments
Owner

Часть эпика #2549 (шаг 6/8). Блокирован: после #2554 (team-API) и #2555 (login/RouteGuard). Worker: frontend-engineer.

Scope (tradein-mvp/frontend/src)

  • app/team/page.tsx (новый) — единая страница для manager и admin (backend сам скоупит по роли, UI не дублировать).
  • components/team/: EmployeeTable.tsx (список + used/remaining квоты + is_active), CreateEmployeeForm.tsx (username, пароль вручную, display_name, monthly_limit), QuotaEditor.tsx, EmployeeHistoryDrawer.tsx (история оценок: адрес/дата/результат).
  • lib/team-api.ts — API-client /api/v1/team/*.
  • Визуальные паттерны переиспользовать из app/admin/audit/ и app/admin/analytics/ (таблицы, drawer).
  • RouteGuard: страница /team доступна ролям admin|manager (по allowed_paths из /me), employee не видит пункта меню.

DoD

Playwright-сценарий: manager создаёт сотрудника с паролем → выставляет квоту 5 → сотрудник логинится, видит остаток 5; блокировка сотрудника → его сессия перестаёт работать; история оценок рендерится.

Что НЕ делать

Email-рассылку пароля (передача вручную — MVP), редактирование чужих org, admin-специфичные bulk-операции.

Часть эпика #2549 (шаг 6/8). **Блокирован**: после #2554 (team-API) и #2555 (login/RouteGuard). Worker: frontend-engineer. ## Scope (tradein-mvp/frontend/src) - `app/team/page.tsx` (новый) — единая страница для manager и admin (backend сам скоупит по роли, UI не дублировать). - `components/team/`: `EmployeeTable.tsx` (список + used/remaining квоты + is_active), `CreateEmployeeForm.tsx` (username, пароль вручную, display_name, monthly_limit), `QuotaEditor.tsx`, `EmployeeHistoryDrawer.tsx` (история оценок: адрес/дата/результат). - `lib/team-api.ts` — API-client `/api/v1/team/*`. - Визуальные паттерны переиспользовать из `app/admin/audit/` и `app/admin/analytics/` (таблицы, drawer). - RouteGuard: страница `/team` доступна ролям admin|manager (по allowed_paths из /me), employee не видит пункта меню. ## DoD Playwright-сценарий: manager создаёт сотрудника с паролем → выставляет квоту 5 → сотрудник логинится, видит остаток 5; блокировка сотрудника → его сессия перестаёт работать; история оценок рендерится. ## Что НЕ делать Email-рассылку пароля (передача вручную — MVP), редактирование чужих org, admin-специфичные bulk-операции.
lekss361 added the
auth
scope/frontend
tradein
labels 2026-07-30 06:23:38 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2556
No description provided.