- Replace two MUI DatePicker components with a single visual range field - Click opens Popover with community DateCalendar (no DateRangePicker/pro) - First click sets start, second sets end; if end < start, range resets - Remove isOpen/onToggle props — Popover managed locally - Add BrokerDashboardTableSkeleton for events/income loading - Set default weekly range (today-7d / today) for both events and income - Remove 'Фильтр' label, rename 'Показать' → 'Применить период' - Install @mui/x-date-pickers@7 - Update tests for new UI and skeleton loading states - Align spec.md, plan.md, tasks.md with implementation
5.5 KiB
5.5 KiB
Редизайн обзора брокерского счёта в инвестиционный дашборд — задачи
Дата: 2026-06-26 Статус: в реализации
Документация и pre-flight
- Выбрать scope:
/broker/:accountIdстановится единым дашбордом. - Выбрать визуальный стиль: структура
temp.html, текущая светлая DS-тема. - Исключить график истории стоимости из первой версии.
- Добавить backlog-задачу на историю стоимости брокерского портфеля.
- Создать ветку
codex/broker-dashboard-redesign. - Запустить baseline:
rtk npm run test:backend && rtk npm run test:frontend && rtk npm run test:design-system. - Написать
spec.md. - Написать
plan.md.
Реализация
- Добавить pure helpers для фильтрации и суммирования доходных операций dashboard.
- Добавить helpers для фильтров дат, пресетов, валидации и mapping income types → operationTypes.
- Добавить dashboard presentation helpers для fallback, event labels и statuses.
- Добавить локальный
BrokerDashboardCardpattern или точечно расширить DS, если локального pattern недостаточно. - Добавить
BrokerDashboardHeroс KPI по portfolio и analytics. - Добавить
BrokerDashboardEventsCardна основеuseBrokerEvents. - Добавить
BrokerDashboardIncomeCardна основеuseBrokerOperations. - Перенести навигацию счёта из левой колонки в горизонтальные вкладки над контентом.
- Перестроить dashboard на один блок на строке для
События,Доходы,Аналитика доходности,Аллокация. - Добавить кликабельные chip-фильтры типов для
События. - Добавить
BrokerDashboardDateFilter— переиспользуемый expandable-компонент фильтра дат (пресеты 7д/30д/90д/1г/Всё, from/to поля, Сбросить/Показать). - Подключить
BrokerDashboardDateFilterвСобытияс draft/applied состоянием. - Добавить локальную пагинацию по 10 событий в
События. - Добавить кликабельные chip-фильтры типов для
Доходы. - Подключить
BrokerDashboardDateFilterвДоходыс draft/applied состоянием. - Добавить cursor-пагинацию по 10 операций в
Доходы. - Добавить
BrokerDashboardAnalyticsCardна основеuseBrokerAnalytics. - Добавить
BrokerDashboardAllocationCardна основе существующей аллокации. - Добавить
BrokerDashboardSkeleton. - Добавить
BrokerDashboardкак top-level composition widget. - Заменить текущий вертикальный обзор в
BrokerAccountOverviewPageнаBrokerDashboard. - Добавить unit/component tests для helpers и базовой dashboard composition.
- Выровнять hero KPI: все Metric одной высоты, supportingText не раздвигает "Доходность" выше соседей.
- Заменить donut-диаграмму аллокации на горизонтальные бары в
BrokerDashboardAllocationCard. - Убрать слово
Фильтриз пользовательского текста шапки периода в dashboard-карточках. - Переименовать действие
Показатьв управлении периодом и визуально улучшить шапку фильтров. - Заменить native date inputs на одно поле периода с popover и community
DateCalendarиз@mui/x-date-pickers. - Не использовать
@mui/x-date-pickers-proиDateRangePicker. - Настроить default range событий и доходов на
сегодня - 7 дней/сегодня. - Заменить текстовую загрузку
Событияна skeleton таблицы. - Заменить текстовую загрузку
Доходына skeleton таблицы. - Обновить component tests под новые тексты, единое поле периода, popover-календарь и skeleton loading states.
- Проверить desktop layout
/broker/2084014113. - Проверить mobile layout
/broker/2084014113.
Definition of Done
rtk npm run test:frontendпроходит.rtk npm run test:design-systemпроходит.rtk npm run lint -w apps/frontendпроходит.rtk npm run build:frontendпроходит.- Dashboard соответствует acceptance criteria из
spec.md. - Существующие вкладки
Акции,Облигации,Операции,События,Аналитикаостаются доступны. graphify update .выполнен после code changes.