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

46 lines
1.6 KiB
Markdown

# Frontend FSD Screener — задачи
Статус: выполнено
## 1. API слой
- [x] Создать `features/screener/api/screenerApi.ts` — перенос `ScreenerQuery` + `getScreenerResults`
- [x] Обновить импорты: `@/shared/api/client`, `@/shared/api/responses`
## 2. Модель
- [x] Создать `features/screener/model/useScreener.ts` — перенос хука
- [x] Создать `features/screener/model/index.ts`
## 3. UI компоненты
- [x] Перенести `FilterPanel.tsx` в `features/screener/ui/`
- [x] Перенести `FilterPanelShare.tsx` в `features/screener/ui/`
- [x] Перенести `FilterPanelBond.tsx` в `features/screener/ui/`
- [x] Перенести `ScreenerTable.tsx` в `features/screener/ui/`
- [x] Создать `features/screener/ui/index.ts`
- [x] Создать `features/screener/index.ts`
## 4. Pages
- [x] Создать `pages/screener/ui/ScreenerPage.tsx` — обновить импорты на `@/features/screener`
- [x] Создать `pages/screener/index.ts`
## 5. Роутинг
- [x] Обновить `app/routing/AppRoutes.tsx` — import from `@/pages/screener`
## 6. Удаление legacy
- [x] Удалить `api/screener.ts`
- [x] Удалить `hooks/useScreener.ts`
- [x] Удалить `components/screener/` (директория)
## 7. Verification
- [x] `npm test -w apps/frontend` — PASS
- [x] `npm run lint -w apps/frontend` — PASS
- [x] `npm run build -w apps/frontend` — PASS
- [x] Нет deep imports в `features/screener/` извне
- [x] `pages/screener/` импортируется только через barrel