3.3 KiB
Raw Blame History

Маршруты

Source of truth для маршрутов: apps/frontend/src/app/routing/routeTree.tsx.

Path Component Доступ Описание
/ HomePage from pages/home Public Главная страница
/stocks/$secid StockPage from pages/stock Public Страница акции
/bonds/$secid BondPage from pages/bond Public Страница облигации
/screener ScreenerPage Public Скринер ценных бумаг
/login LoginPage Public Вход
/register RegisterPage Public Регистрация
/profile ProfilePage Protected Профиль текущего пользователя
/portfolios PortfoliosListPage Protected Список портфелей
/portfolios/$id PortfolioDetailPage Protected Детальная страница портфеля
/broker BrokerAccountsPage from pages/broker-accounts Protected Список брокерских счетов
/broker/$accountId BrokerAccountLayout + nested pages Protected Детальная область брокерского счёта
/broker/$accountId/events BrokerEventsPage from pages/broker-events Protected Календарь событий и выплат

Все page entrypoints живут в FSD-слоях:

  • pages/home
  • pages/stock
  • pages/bond
  • pages/broker-accounts
  • pages/broker-account
  • pages/broker-positions
  • pages/broker-operations
  • pages/broker-events

Все страницы обёрнуты в AppLayout, который содержит:

  • Шапку с логотипом (ссылка на /) и SearchBar
  • <main> с максимальной шириной 1200px
  • <Outlet /> для контента страницы

Структура маршрутов

Маршруты собираются через TanStack Router в `routeTree.tsx`.

Композиция страницы событий

Страница /broker/$accountId/events собирается из FSD-слоёв:

flowchart TB
    BrokerEventsPage["pages/broker-events<br/>BrokerEventsPage"]
    useBrokerEvents["entities/broker-event<br/>useBrokerEvents"]
    BrokerEventApi["entities/broker-event/api<br/>brokerEventApi"]
    BrokerEventsOverview["widgets/broker-events-overview<br/>BrokerEventsOverview"]
    DS["@moex-vibe/design-system<br/>DatePicker, Select, Button<br/>DataTable, Metric, LoadingState"]

    BrokerEventsPage --> useBrokerEvents
    BrokerEventsPage --> BrokerEventsOverview
    BrokerEventsPage --> DS

    useBrokerEvents --> BrokerEventApi

    subgraph Overview["Обзор на dashboard счёта"]
        BrokerAccountOverview["pages/broker-account<br/>BrokerAccountOverviewPage"]
        BrokerAccountOverview --> BrokerEventsOverview
    end
  • BrokerEventsPage — entrypoint страницы: фильтр по датам/типам, таблица событий, summary
  • BrokerEventsOverview — компактный блок 5 ближайших событий (используется на overview счёта)
  • useBrokerEvents — TanStack Query hook с ключом ['broker', 'events', accountId, from, to, types]