46 lines
2.3 KiB
Markdown
46 lines
2.3 KiB
Markdown
# Frontend FSD Market Pages — задачи
|
||
|
||
Статус: выполнено
|
||
|
||
Подробные шаги, карта файлов и verification-команды находятся в [plan.md](plan.md).
|
||
|
||
Финальная verification:
|
||
- `npm test -w apps/frontend` — PASS (`42` files, `230` tests)
|
||
- `npm run lint -w apps/frontend` — PASS
|
||
- `npm run build -w apps/frontend` — PASS
|
||
- `npm run build -w apps/docs` — PASS
|
||
|
||
Deep import verification:
|
||
- `rg -n "@/entities/search/model|@/widgets/search-bar/ui|@/widgets/price-chart/ui|@/widgets/stock-details/ui|@/widgets/bond-details/ui|@/widgets/dividends-table/ui|@/pages/home/ui|@/pages/stock/ui|@/pages/bond/ui" apps/frontend/src apps/docs/docs` — no matches
|
||
|
||
## 1. Search slice
|
||
|
||
- [x] Создать `entities/search` с `useSearch` и public API.
|
||
- [x] Перенести `SearchBar` в `widgets/search-bar`.
|
||
- [x] Оставить `hooks/useSearch.ts` и `components/SearchBar.tsx` как re-export shims.
|
||
- [x] Переключить `AppLayout` на `@/widgets/search-bar`.
|
||
- [x] Прогнать `useSearch` и `SearchBar` тесты после переноса.
|
||
|
||
## 2. Market widgets
|
||
|
||
- [x] Перенести `PriceChart` в `widgets/price-chart`.
|
||
- [x] Перенести `StockDetails` в `widgets/stock-details`.
|
||
- [x] Перенести `BondDetails` в `widgets/bond-details`.
|
||
- [x] Вынести таблицу дивидендов в `widgets/dividends-table`.
|
||
- [x] Привязать widget tests к новым slice boundaries.
|
||
|
||
## 3. Market pages
|
||
|
||
- [x] Создать `pages/home`, `pages/stock`, `pages/bond` с public API.
|
||
- [x] Сохранить orchestration route params и data loading в `pages/stock` и `pages/bond`.
|
||
- [x] Переключить `AppRoutes` на новые page entrypoints.
|
||
- [x] Оставить `pages/HomePage.tsx`, `StockPage.tsx`, `BondPage.tsx` как re-export shims.
|
||
- [x] Прогнать page tests после переключения маршрутов.
|
||
|
||
## 4. Docs и verification
|
||
|
||
- [x] Добавить ADR по market FSD migration.
|
||
- [x] Обновить frontend docs (`overview.md`, `components.md`, `hooks.md`, `routes.md`).
|
||
- [x] Проверить отсутствие внешних deep imports в новые `model/` и `ui/` директории.
|
||
- [x] Выполнить финальную проверку: frontend `test`, `lint`, `build`, docs `build`.
|