32 lines
1.8 KiB
Markdown
32 lines
1.8 KiB
Markdown
# Pilot Migration — Design System Adoption
|
|
|
|
## Status
|
|
|
|
Implemented — 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` проходят
|