routes.tsx 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. import React from 'react';
  2. import { createBrowserRouter, Navigate } from 'react-router';
  3. import { ProtectedRoute } from './components_protected_route.tsx';
  4. import { MainLayout } from './layouts/MainLayout.tsx';
  5. import { ErrorPage } from './components/ErrorPage.tsx';
  6. import { DashboardPage } from './pages_dashboard.tsx';
  7. import { UsersPage } from './pages_users.tsx';
  8. import { FileLibraryPage } from './pages_file_library.tsx';
  9. import { KnowInfoPage } from './pages_know_info.tsx';
  10. import { MessagesPage } from './pages_messages.tsx';
  11. import { SettingsPage } from './pages_settings.tsx';
  12. import { ThemeSettingsPage } from './pages_theme_settings.tsx';
  13. import { ChartDashboardPage } from './pages_chart.tsx';
  14. import { LoginMapPage } from './pages_map.tsx';
  15. import { LoginPage } from './pages_login_reg.tsx';
  16. export const router = createBrowserRouter([
  17. {
  18. path: '/',
  19. element: <Navigate to="/admin" replace />
  20. },
  21. {
  22. path: '/admin/login',
  23. element: <LoginPage />
  24. },
  25. {
  26. path: '/admin',
  27. element: (
  28. <ProtectedRoute>
  29. <MainLayout />
  30. </ProtectedRoute>
  31. ),
  32. children: [
  33. {
  34. index: true,
  35. element: <Navigate to="/admin/dashboard" />
  36. },
  37. {
  38. path: 'dashboard',
  39. element: <DashboardPage />,
  40. errorElement: <ErrorPage />
  41. },
  42. {
  43. path: 'users',
  44. element: <UsersPage />,
  45. errorElement: <ErrorPage />
  46. },
  47. {
  48. path: 'settings',
  49. element: <SettingsPage />,
  50. errorElement: <ErrorPage />
  51. },
  52. {
  53. path: 'theme-settings',
  54. element: <ThemeSettingsPage />,
  55. errorElement: <ErrorPage />
  56. },
  57. {
  58. path: 'chart-dashboard',
  59. element: <ChartDashboardPage />,
  60. errorElement: <ErrorPage />
  61. },
  62. {
  63. path: 'map-dashboard',
  64. element: <LoginMapPage />,
  65. errorElement: <ErrorPage />
  66. },
  67. {
  68. path: 'know-info',
  69. element: <KnowInfoPage />,
  70. errorElement: <ErrorPage />
  71. },
  72. {
  73. path: 'file-library',
  74. element: <FileLibraryPage />,
  75. errorElement: <ErrorPage />
  76. },
  77. {
  78. path: 'messages',
  79. element: <MessagesPage />,
  80. errorElement: <ErrorPage />
  81. },
  82. ],
  83. },
  84. ]);