import type { FC } from "react"; import { lazy } from "react"; import { Navigate, Route, Routes } from "react-router"; import { LazyPage } from "../RouteFallback"; import { Protected, Public } from "../RouteGuards"; const CardPage = lazy(async () => { const { CardPage } = await import("@/pages/card"); return { default: CardPage }; }); const CardsPage = lazy(async () => { const { CardsPage } = await import("@/pages/cards"); return { default: CardsPage }; }); const BondPage = lazy(async () => { const { BondPage } = await import("@/pages/bond"); return { default: BondPage }; }); const BondsPage = lazy(async () => { const { BondsPage } = await import("@/pages/bonds"); return { default: BondsPage }; }); const StockPage = lazy(async () => { const { StockPage } = await import("@/pages/stock"); return { default: StockPage }; }); const StocksPage = lazy(async () => { const { StocksPage } = await import("@/pages/stocks"); return { default: StocksPage }; }); const AccountPage = lazy(async () => { const { AccountPage } = await import("@/pages/account"); return { default: AccountPage }; }); const AccountEventsPage = lazy(async () => { const { AccountEventsPage } = await import("@/pages/account-events"); return { default: AccountEventsPage }; }); const AccountOperationsPage = lazy(async () => { const { AccountOperationsPage } = await import("@/pages/account-operations"); return { default: AccountOperationsPage }; }); const AccountIncomePage = lazy(async () => { const { AccountIncomePage } = await import("@/pages/account-income"); return { default: AccountIncomePage }; }); const AccountsPage = lazy(async () => { const { AccountsPage } = await import("@/pages/accounts"); return { default: AccountsPage }; }); const LoginPage = lazy(async () => { const { LoginPage } = await import("@/pages/login"); return { default: LoginPage }; }); const NotFoundPage = lazy(async () => { const { NotFoundPage } = await import("@/pages/not-found"); return { default: NotFoundPage }; }); const RegisterPage = lazy(async () => { const { RegisterPage } = await import("@/pages/register"); return { default: RegisterPage }; }); const SettingsPage = lazy(async () => { const { SettingsPage } = await import("@/pages/settings"); return { default: SettingsPage }; }); const ProtectedLayout = lazy(async () => { const { ProtectedLayout } = await import("../ProtectedLayout"); return { default: ProtectedLayout }; }); const AppRoutes: FC = () => ( } path="/" /> )} path="/login" /> )} path="/register" /> )} > )} path="/cards/:cardId" /> )} path="/cards" /> )} path="/bonds" /> )} path="/bonds/:bondId" /> )} path="/stocks" /> )} path="/stocks/:stockId" /> )} path="/accounts" /> )} path="/accounts/:accountId" /> )} path="/accounts/:accountId/events" /> )} path="/accounts/:accountId/income" /> )} path="/accounts/:accountId/operations" /> )} path="/settings" /> )} path="*" /> ); export { AppRoutes };