Sergey Krylov 055bc23097
Some checks failed
CI / ci (pull_request) Failing after 2m45s
CI / ci (push) Failing after 2m41s
refactor(frontend): migrate auth/portfolio pages to FSD, add layer boundaries
- 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
2026-06-20 21:42:33 +03:00

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 — PASS
  • npm run lint -w apps/frontend — PASS
  • npm run build -w apps/frontend — PASS
  • Нет deep imports в features/screener/ извне
  • pages/screener/ импортируется только через barrel