From bd27bba66d5b419008ce4afe02a87fd2d8a7f1c3 Mon Sep 17 00:00:00 2001 From: Sergey Krylov Date: Sun, 21 Jun 2026 18:00:39 +0300 Subject: [PATCH] docs(sdd): add broker account sections DS migration spec/plan/tasks --- .../plan.md | 144 ++++++++++++++++++ .../spec.md | 69 +++++++++ .../tasks.md | 100 ++++++++++++ 3 files changed, 313 insertions(+) create mode 100644 docs/features/broker-account-sections-ds-migration/plan.md create mode 100644 docs/features/broker-account-sections-ds-migration/spec.md create mode 100644 docs/features/broker-account-sections-ds-migration/tasks.md diff --git a/docs/features/broker-account-sections-ds-migration/plan.md b/docs/features/broker-account-sections-ds-migration/plan.md new file mode 100644 index 0000000..dd016b7 --- /dev/null +++ b/docs/features/broker-account-sections-ds-migration/plan.md @@ -0,0 +1,144 @@ +# Дизайн-системный рефакторинг брокерских страниц — Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development +> (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use +> checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Удалить legacy-стили из страниц и компонентов брокерского раздела: CSS-классы, +`inline styles`, `SkeletonBlock`, `TableSkeleton` → перевести на `@moex-vibe/design-system`. + +**Architecture:** Бизнес-логика, контракты и маршрутизация меняться не будут. +Градиенты героических секций, которые не имеют DS-эквивалента, сохраняются как `sx`-инлайн-стили. +SVG-диаграмма (`BrokerAllocationChart`) сохраняется как есть, меняются только обёртки. + +**Tech Stack:** React 18, MUI 6.5, `@moex-vibe/design-system` 0.1.0, CSS custom properties. + +**Связанные документы:** + +- Epic: `docs/epics/BrokerPortfolio.md` +- Функциональная базовая фича: `docs/features/broker-account-sections/spec.md` +- Research: `docs/research/2026-06-18-broker-account-sections.md` + +--- + +## Task 1: BrokerAccountLayout + +Заменить layout shell на DS. + +- `div.broker-account` → `` +- `header.broker-account__header` → `` flex +- `h1` → `` +- `nav.broker-account__navigation` → `` +- `NavLink` классы → при оставлении `className` callback (уникальный prefix для active state), но в первую очередь сменить на `Box` + `