5.4 KiB
5.4 KiB
Дизайн-системный рефакторинг брокерских страниц — Tasks
Дата: 2026-06-21 Связанные документы:
Task 1: BrokerAccountLayout
- Заменить
div.broker-accountна<Box component="div"> - Перевести
header+h1на<Box>+<Heading level={1}> - Перевести
navна<Box component="nav">+<NavLink>(Box component={NavLink} сaria-current="page") - Перевести
div.broker-account__workspaceна grid<Box> - Перевести
div.broker-account__contentна<Box> - Удалить соответствующие CSS-selectors из
styles.css
Task 2: BrokerAccountOverviewPage + BrokerSummary + BrokerAssetCards
- Перевести
BrokerSummaryна<Box>+<Text> - Перевести eyebrow/label на
<Text variant="label" tone="secondary"> - Перевести
<strong>значений на<Box component="span" sx={{ fontWeight: 700 }}> - Перевести
<ul>cash на<Box component="ul"> - Перевести
BrokerAssetCardsна<Box>+<Link>+<Text> - Перевести
BrokerAccountOverviewPagecontainer на<Box component="div"> - Перевести
<p role="alert">на<Text component="p" tone="negative"> - Оставить hero-gradient без изменений (Out of scope)
Task 3: BrokerOverviewSkeleton
- Заменить импорт
SkeletonBlockна DS<Skeleton> - Перевести контейнеры на
<Box> - Сделать circular skeleton для портфельной карточки
- Сделать text skeleton для текстовых placeholder'ей
Task 4: BrokerAllocationChart (wrap only)
- Перевести
<figure>на<Box component="figure"> - Перевести
<figcaption>на<Box component="figcaption"> - Перевести
<p>пустого состояния на<Text tone="muted"> - Перевести
<ul>/<li>легенды на<Box component="ul">+<Box component="li"> - Перевести swatch на
<Box>с inline-цветом вsx - Перевести тексты легенды на
<Box component="span"> - Перевести negative-список на
<Box component="ul"> - Удалить CSS для
.broker-allocation*вstyles.css
Task 5: BrokerPositionTable + PositionTicker
- Перевести вспомогательные стили на
<Box sx={{...}}> - Перевести
<h2>на<Heading level={2}> - Перевести alert-тексты на
<Text tone="negative"> - Перевести пагинационные
<button>на<Button variant="secondary"> - Перевести
loading-overlayна<Box> - Перевести
PositionTickerссылки на<Box component="span" sx={{ fontWeight: 700 }}> - Сохранить
loading-spinner(глобальный класс, пока без замены)
Task 6: TableSkeleton (DS Skeleton)
- Убрать импорт
SkeletonBlock - Заменить на
<Skeleton height={12} width={col.width} shape="text" />
Task 7: BrokerOperationsTable
- Перевести вспомогательные стили на
<Box sx={{...}}> - Перевести
<h2>на<Heading level={2}> - Перевести
headerActioncontainer на<Box> - Перевести пагинационные
<button>на<Button variant="secondary"> - Перевести alert-тексты на
<Text tone="negative"> - Перевести empty-тексты на
<Text tone="muted"> - Перевести
<label>+<select>на<Box component="label">+<select> - Оставить
loading-spinnerдля overlay (глобальный класс)
Task 8: BrokerPositionsPage + BrokerOperationsPage
- Перевести
BrokerPositionsPageна<Box component="section">+<Heading>+<Text> - Перевести
BrokerOperationsPageна<Box>+<Heading>+<Box component="label">+<select> - Убедиться, что
role="alert"сохраняется через<Text tone="negative">
Task 9: SkeletonBlock удаление
- Удалить
apps/frontend/src/shared/ui/SkeletonBlock.tsx - Удалить экспорт из
apps/frontend/src/shared/ui/index.ts - Проверить grep по
SkeletonBlock— 0 совпадений
Task 10: Очистка styles.css
- Удалить блоки
.broker-account__* - Удалить блоки
.broker-overview__* - Удалить блоки
.broker-allocation__* - Удалить блоки
.broker-operations__toolbar* - Удалить CSS-переменные
--broker-overview-* - Оставить
.loading-spinner,.skeleton,:rootобщие переменные
Task 11: Финальная проверка
npm run test:frontend— 111 tests PASSnpm run lint -w apps/frontend— без ошибокnpm run build:frontend— без TypeScript/Vite ошибок- grep по
broker-(account|overview|allocation)в TSX — 0 совпадений - grep по
SkeletonBlockв TSX — 0 совпадений - CSS: 274 → 99 строк