78 lines
2.7 KiB
TypeScript
78 lines
2.7 KiB
TypeScript
import { Routes, Route } from 'react-router-dom';
|
|
import { Layout } from './components/Layout';
|
|
import { HomePage } from './pages/HomePage';
|
|
import { StockPage } from './pages/StockPage';
|
|
import { BondPage } from './pages/BondPage';
|
|
import { LoginPage } from './pages/LoginPage';
|
|
import { RegisterPage } from './pages/RegisterPage';
|
|
import { ProfilePage } from './pages/ProfilePage';
|
|
import { ProtectedRoute } from './components/ProtectedRoute';
|
|
import { PortfoliosListPage } from './pages/portfolios/PortfoliosListPage';
|
|
import { PortfolioDetailPage } from './pages/portfolios/PortfolioDetailPage';
|
|
import { ScreenerPage } from './pages/screener/ScreenerPage';
|
|
import { BrokerAccountsPage } from './pages/broker/BrokerAccountsPage';
|
|
import { BrokerAccountLayout } from './pages/broker/BrokerAccountLayout';
|
|
import { BrokerAccountOverviewPage } from './pages/broker/BrokerAccountOverviewPage';
|
|
import { BrokerPositionsPage } from './pages/broker/BrokerPositionsPage';
|
|
import { BrokerOperationsPage } from './pages/broker/BrokerOperationsPage';
|
|
|
|
export function AppRoutes() {
|
|
return (
|
|
<Routes>
|
|
<Route element={<Layout />}>
|
|
<Route path="/" element={<HomePage />} />
|
|
<Route path="/stocks/:secid" element={<StockPage />} />
|
|
<Route path="/bonds/:secid" element={<BondPage />} />
|
|
<Route path="/screener" element={<ScreenerPage />} />
|
|
<Route path="/login" element={<LoginPage />} />
|
|
<Route path="/register" element={<RegisterPage />} />
|
|
<Route
|
|
path="/profile"
|
|
element={
|
|
<ProtectedRoute>
|
|
<ProfilePage />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="/portfolios"
|
|
element={
|
|
<ProtectedRoute>
|
|
<PortfoliosListPage />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="/portfolios/:id"
|
|
element={
|
|
<ProtectedRoute>
|
|
<PortfolioDetailPage />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="/broker"
|
|
element={
|
|
<ProtectedRoute>
|
|
<BrokerAccountsPage />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="/broker/:accountId"
|
|
element={
|
|
<ProtectedRoute>
|
|
<BrokerAccountLayout />
|
|
</ProtectedRoute>
|
|
}
|
|
>
|
|
<Route index element={<BrokerAccountOverviewPage />} />
|
|
<Route path="shares" element={<BrokerPositionsPage type="share" title="Акции" />} />
|
|
<Route path="bonds" element={<BrokerPositionsPage type="bond" title="Облигации" />} />
|
|
<Route path="operations" element={<BrokerOperationsPage />} />
|
|
</Route>
|
|
</Route>
|
|
</Routes>
|
|
);
|
|
}
|