114 lines
2.8 KiB
TypeScript
114 lines
2.8 KiB
TypeScript
import { Route, Routes as ReactRoutes } from 'react-router-dom';
|
|
import Layout from './components/Layout';
|
|
import HomePage from './pages/HomePage';
|
|
import DocumentsPage from './pages/DocumentsPage';
|
|
import DocumentPage from './pages/DocumentPage';
|
|
import ProgressPage from './pages/ProgressPage';
|
|
import ActivityPage from './pages/ActivityPage';
|
|
import SearchPage from './pages/SearchPage';
|
|
import SettingsPage from './pages/SettingsPage';
|
|
import LoginPage from './pages/LoginPage';
|
|
import AdminPage from './pages/AdminPage';
|
|
import AdminImportPage from './pages/AdminImportPage';
|
|
import AdminUsersPage from './pages/AdminUsersPage';
|
|
import AdminLogsPage from './pages/AdminLogsPage';
|
|
import { ProtectedRoute } from './auth/ProtectedRoute';
|
|
|
|
export function Routes() {
|
|
return (
|
|
<ReactRoutes>
|
|
<Route path="/" element={<Layout />}>
|
|
<Route
|
|
index
|
|
element={
|
|
<ProtectedRoute>
|
|
<HomePage />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="documents"
|
|
element={
|
|
<ProtectedRoute>
|
|
<DocumentsPage />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="documents/:id"
|
|
element={
|
|
<ProtectedRoute>
|
|
<DocumentPage />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="progress"
|
|
element={
|
|
<ProtectedRoute>
|
|
<ProgressPage />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="activity"
|
|
element={
|
|
<ProtectedRoute>
|
|
<ActivityPage />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="search"
|
|
element={
|
|
<ProtectedRoute>
|
|
<SearchPage />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="settings"
|
|
element={
|
|
<ProtectedRoute>
|
|
<SettingsPage />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
{/* Admin routes */}
|
|
<Route
|
|
path="admin"
|
|
element={
|
|
<ProtectedRoute>
|
|
<AdminPage />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="admin/import"
|
|
element={
|
|
<ProtectedRoute>
|
|
<AdminImportPage />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="admin/users"
|
|
element={
|
|
<ProtectedRoute>
|
|
<AdminUsersPage />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
<Route
|
|
path="admin/logs"
|
|
element={
|
|
<ProtectedRoute>
|
|
<AdminLogsPage />
|
|
</ProtectedRoute>
|
|
}
|
|
/>
|
|
</Route>
|
|
<Route path="/login" element={<LoginPage />} />
|
|
</ReactRoutes>
|
|
);
|
|
} |