# Дизайн-системный рефакторинг страниц брокерского счёта Дата: 2026-06-21 Статус: реализовано ## Контекст Epic `Брокерский портфель` уже покрыт функциональной фичей `broker-account-sections` (реализовано 2026-06-18). Текущая цель — убрать legacy-стили (CSS-классы, inline-стили, `SkeletonBlock`, `loading-spinner`) из страниц и компонентов, относящихся к одному выбранному брокерскому счёту, и перевести их на `@moex-vibe/design-system`. Страницы в области изменения: - `BrokerAccountLayout` — навигация и заголовок счёта; - `BrokerAccountOverviewPage` — карточки сводки, диаграмма, последние операции; - `BrokerSummary` — текстовые показатели портфеля и денежных остатков; - `BrokerAssetCards` — карточки акций и облигаций; - `BrokerOverviewSkeleton` — loading-состояние overview; - `BrokerAllocationChart` — SVG-диаграмма (диаграмма остаётся SVG, меняются обёртки); - `BrokerPositionTable` — таблица позиций с пагинацией; - `BrokerOperationsTable` — таблица операций с пагинацией; - `PositionTicker` — кликабельный тикер в таблице позиций; - `BrokerPositionsPage` — страница акций / облигаций; - `BrokerOperationsPage` — страница истории операций с фильтром. ## Связанные фичи - Epic: `docs/epics/BrokerPortfolio.md` - Функциональная базовая фича: `docs/features/broker-account-sections/spec.md` - DS-пакет: `packages/design-system/` ## Цель Удалить все CSS-классы (кроме героических градиентов, где нет DS-эквивалента) и `SkeletonBlock` из страниц и компонентов, относящихся к одному брокерскому счёту. Перевести layout, typography, skeleton, метрики, алерты, кнопки, пустые состояния на `@moex-vibe/design-system`. Оставить нетронутыми бизнес-логику, контракты и схему маршрутизации. ## Out of scope - Изменение бизнес-логики, контрактов API, entity-слоя; - Изменение маршрутизации; - Изменение SVG-диаграммы; - Рефакторинг broker-accounts-page (список счетов) — отдельная фича; - Изменение CSS-переменных `:root` и их использования за пределами страниц брокера; - Добавление новых тестов (существующие тесты сохраняются, если их контракт не меняется). ## Принципы миграции - `SkeletonBlock` → DS `Skeleton` (все потребители → удаление `SkeletonBlock` из `shared/ui`); - `

`/`

` → ``; - `

`, `` → ``; - `

` статические тексты → `` или `` с `sx` (если нужен кастомный размер/цвет); - `` значения → ``; - Inline `

` → ``; - Стандартный `

` → ``; - Hero-gradient `broker-overview` → `` с кастомным `sx` (градиент остаётся как inline-стиль); - `div.broker-operations__toolbar` → `` с flex-сеткой; - ``, обёрнуть в ``. ## Acceptance Criteria - [x] `BrokerAccountLayout` не содержит CSS-классов из `styles.css`; используется ``, ``, ``. - [x] `BrokerAccountOverviewPage` и содержащиеся в нём `BrokerSummary`, `BrokerAssetCards` переведены на DS-компоненты. - [x] `BrokerOverviewSkeleton` использует DS ``. - [x] `BrokerAllocationChart` обёртки (`
`, `
`) переведены на ``; текст легенды — на ``. - [x] `BrokerPositionTable` и `BrokerOperationsTable` используют `` для layout, `` для заголовков, `