- Move navigation from left sidebar to horizontal top tabs in BrokerAccountLayout - Change dashboard blocks to single-column layout (Events, Income, Analytics, Allocation) - Extend DS Chip with onClick/selected/disabled/aria-pressed - Add clickable chip filters to Events and Income cards with immediate filtering - Disable backend query when all types deselected (show validation message) - Add useBrokerEvents/useBrokerOperations options.enabled param - Update dashboard skeleton to single-column shape - Add userEvent tests for chip filter interactions
52 lines
4.0 KiB
Markdown
52 lines
4.0 KiB
Markdown
# Редизайн overview брокерского счёта в инвестиционный дашборд — задачи
|
||
|
||
Дата: 2026-06-26
|
||
Статус: готово к реализации
|
||
|
||
## Документация и pre-flight
|
||
|
||
- [x] Выбрать scope: `/broker/:accountId` становится единым дашбордом.
|
||
- [x] Выбрать визуальный стиль: структура `temp.html`, текущая светлая DS-тема.
|
||
- [x] Исключить график истории стоимости из первой версии.
|
||
- [x] Добавить backlog-задачу на историю стоимости брокерского портфеля.
|
||
- [x] Создать ветку `codex/broker-dashboard-redesign`.
|
||
- [x] Запустить baseline: `rtk npm run test:backend && rtk npm run test:frontend && rtk npm run test:design-system`.
|
||
- [x] Написать `spec.md`.
|
||
- [x] Написать `plan.md`.
|
||
|
||
## Реализация
|
||
|
||
- [x] Добавить pure helpers для фильтрации и суммирования доходных операций dashboard.
|
||
- [x] Добавить helpers для фильтров дат, пресетов, валидации и mapping income types → operationTypes.
|
||
- [x] Добавить dashboard presentation helpers для fallback, event labels и statuses.
|
||
- [x] Добавить локальный `BrokerDashboardCard` pattern или точечно расширить DS, если локального pattern недостаточно.
|
||
- [x] Добавить `BrokerDashboardHero` с KPI по portfolio и analytics.
|
||
- [x] Добавить `BrokerDashboardEventsCard` на основе `useBrokerEvents`.
|
||
- [x] Добавить `BrokerDashboardIncomeCard` на основе `useBrokerOperations`.
|
||
- [x] Перенести навигацию счёта из левой колонки в горизонтальные вкладки над контентом.
|
||
- [x] Перестроить dashboard на один блок на строке для `События`, `Доходы`, `Аналитика доходности`, `Аллокация`.
|
||
- [x] Добавить кликабельные chip-фильтры типов для `События`.
|
||
- [ ] Добавить фильтры периода, пресеты, reset/apply actions для `События`.
|
||
- [x] Добавить локальную пагинацию по 10 событий в `События`.
|
||
- [x] Добавить кликабельные chip-фильтры типов для `Доходы`.
|
||
- [ ] Добавить фильтры периода, пресеты, reset/apply actions для `Доходы`.
|
||
- [x] Добавить cursor-пагинацию по 10 операций в `Доходы`.
|
||
- [x] Добавить `BrokerDashboardAnalyticsCard` на основе `useBrokerAnalytics`.
|
||
- [x] Добавить `BrokerDashboardAllocationCard` на основе существующей аллокации.
|
||
- [x] Добавить `BrokerDashboardSkeleton`.
|
||
- [x] Добавить `BrokerDashboard` как top-level composition widget.
|
||
- [x] Заменить текущий vertical overview в `BrokerAccountOverviewPage` на `BrokerDashboard`.
|
||
- [x] Добавить unit/component tests для helpers и dashboard composition.
|
||
- [ ] Проверить desktop layout `/broker/2084014113`.
|
||
- [ ] Проверить mobile layout `/broker/2084014113`.
|
||
|
||
## Definition of Done
|
||
|
||
- [x] `rtk npm run test:frontend` проходит (31 files, 135 tests).
|
||
- [x] `rtk npm run test:design-system` проходит (28 files, 162 tests).
|
||
- [x] `rtk npm run lint -w apps/frontend` проходит.
|
||
- [x] `rtk npm run build:frontend` проходит.
|
||
- [x] Dashboard соответствует acceptance criteria из `spec.md`.
|
||
- [x] Существующие вкладки `Акции`, `Облигации`, `Операции`, `События`, `Аналитика` остаются доступны.
|
||
- [x] `graphify update .` выполнен после code changes.
|