- Convert LoginPage, RegisterPage, ProfilePage to FSD structure (index.ts + ui/) - Convert PortfoliosListPage, PortfolioDetailPage to FSD structure - Replace relative imports with @/ aliases in portfolio pages - Add ESLint import/no-restricted-paths for FSD layer boundaries - Refactor useSession test to mock context instead of import from app/ - Mark frontend-fsd-screener tasks as complete
1.6 KiB
1.6 KiB
Frontend FSD Screener — задачи
Статус: выполнено
1. API слой
- Создать
features/screener/api/screenerApi.ts— переносScreenerQuery+getScreenerResults - Обновить импорты:
@/shared/api/client,@/shared/api/responses
2. Модель
- Создать
features/screener/model/useScreener.ts— перенос хука - Создать
features/screener/model/index.ts
3. UI компоненты
- Перенести
FilterPanel.tsxвfeatures/screener/ui/ - Перенести
FilterPanelShare.tsxвfeatures/screener/ui/ - Перенести
FilterPanelBond.tsxвfeatures/screener/ui/ - Перенести
ScreenerTable.tsxвfeatures/screener/ui/ - Создать
features/screener/ui/index.ts - Создать
features/screener/index.ts
4. Pages
- Создать
pages/screener/ui/ScreenerPage.tsx— обновить импорты на@/features/screener - Создать
pages/screener/index.ts
5. Роутинг
- Обновить
app/routing/AppRoutes.tsx— import from@/pages/screener
6. Удаление legacy
- Удалить
api/screener.ts - Удалить
hooks/useScreener.ts - Удалить
components/screener/(директория)
7. Verification
npm test -w apps/frontend— PASSnpm run lint -w apps/frontend— PASSnpm run build -w apps/frontend— PASS- Нет deep imports в
features/screener/извне pages/screener/импортируется только через barrel