Sergey Krylov bd33412691 feat(frontend): migrate HomePage and SearchBar to design system components
- HomePage: replace inline styles with <Heading>, <Text>, <Box>
- SearchBar: replace <input> with <TextField>, <ul> with <Surface>,
  <li> with <Box>+<Text>+<Chip>, hardcoded hex with theme tokens
- ESLint no-restricted-imports respected via @mui/material/Box deep import
- Logic unchanged, all 111 tests pass
2026-06-21 16:57:19 +03:00

1.8 KiB

Pilot Migration — Design System Adoption

Status

Approved — утверждена пользователем 2026-06-21.

Goal

Пилотная миграция существующих страниц на компоненты @moex-vibe/design-system. Подтвердить, что API дизайн-системы покрывает реальные сценарии, и зафиксировать gaps для следующей итерации.

Scope

  • apps/frontend/src/pages/home/ui/HomePage.tsx — миграция на <Heading>, <Text>, <Box>
  • apps/frontend/src/widgets/search-bar/ui/SearchBar.tsx — миграция на <TextField>, <Surface>, <Chip>, <Text>, <Box>

Out of scope

  • Рефакторинг логики SearchBar (debounce, click outside, keyboard nav, navigate)
  • Миграция других страниц/виджетов
  • Добавление новых компонентов в DS
  • Удаление всего styles.css (только orphaned CSS variables после миграции)
  • Изменение поведения компонентов (все acceptance criteria остаются теми же)

Acceptance Criteria

  • HomePage не содержит inline-стилей; все стили — через DS-компоненты и MUI layout utilities
  • SearchBar не содержит hardcoded hex-цветов; палитра — через DS tokens
  • SearchBar states (loading, empty, results) используют соответствующие DS-компоненты
  • Логика SearchBar не изменена — все тесты проходят
  • ESLint no-restricted-imports не нарушен (только Box из MUI напрямую)
  • npm run test:frontend && npm run lint -w apps/frontend && npm run build:frontend проходят