routes.tsx 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  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 { NotFoundPage } from './components/NotFoundPage.tsx';
  7. import { DashboardPage } from './pages_dashboard.tsx';
  8. import { UsersPage } from './pages_users.tsx';
  9. import { FileLibraryPage } from './pages_file_library.tsx';
  10. import { KnowInfoPage } from './pages_know_info.tsx';
  11. import { MessagesPage } from './pages_messages.tsx';
  12. import { SettingsPage } from './pages_settings.tsx';
  13. import { ThemeSettingsPage } from './pages_theme_settings.tsx';
  14. import { ChartDashboardPage } from './pages_chart.tsx';
  15. import { LoginMapPage } from './pages_map.tsx';
  16. import { LoginPage } from './pages_login_reg.tsx';
  17. import { ZichanPage } from './pages_zichan.tsx';
  18. import { ZichanTransferPage } from './pages_zichan_transfer.tsx'
  19. import { ZichanCategoryPage } from './pages_zichan_category.tsx'
  20. import { ZichanAreaPage } from './pages_zichan_area.tsx'
  21. import { DeviceTypesPage } from './pages_device_types.tsx'
  22. import { DeviceInstancesPage } from "./pages_device_instances.tsx";
  23. import { RackServerTypePage } from "./pages_rack_server_type.tsx";
  24. import { RackServerPage } from "./pages_rack_server.tsx";
  25. import { RackManagePage } from "./pages_rack.tsx";
  26. import { DeviceMonitorPage } from "./pages_device_monitor.tsx";
  27. import { AlertRecordsPage } from "./pages_alert_records.tsx";
  28. import { AlertHandlePage } from "./pages_alert_handle.tsx";
  29. import { AlertHandleLogsPage } from "./pages_alert_handle_logs.tsx";
  30. import { AlertNotifyConfigPage } from "./pages_alert_notify_config.tsx";
  31. import { DeviceAlertRulePage } from "./pages_device_alert_rule.tsx";
  32. import { DeviceMapManagePage } from "./pages_device_map.tsx";
  33. import { AssetCategoryChartPage } from "./pages_asset_category_chart.tsx";
  34. import { AssetTransferChartPage } from "./pages_asset_transfer_chart.tsx";
  35. import { AlertTrendChartPage } from "./pages_alert_trend_chart.tsx";
  36. import { OnlineDevicesChartPage } from "./pages_online_devices_chart.tsx";
  37. import { GreenhouseProtocolPage } from "./pages_greenhouse_protocol.tsx";
  38. import { WorkOrdersPage } from './pages_work_orders.tsx';
  39. import { ModbusRtuDevicePage } from './pages_modbus_rtu_device.tsx';
  40. import { InspectionsPage } from './pages_inspections.tsx';
  41. import TemperatureHumidityPage from './pages_temperature_humidity.tsx';
  42. import SmokeWaterPage from './pages_smoke_water.tsx';
  43. import { SmsModulePage } from './pages_sms_module.tsx';
  44. export const router = createBrowserRouter([
  45. {
  46. path: '/',
  47. element: <Navigate to="/admin" replace />
  48. },
  49. {
  50. path: '/admin/login',
  51. element: <LoginPage />
  52. },
  53. {
  54. path: '/admin',
  55. element: (
  56. <ProtectedRoute>
  57. <MainLayout />
  58. </ProtectedRoute>
  59. ),
  60. children: [
  61. {
  62. index: true,
  63. element: <Navigate to="/admin/dashboard" />
  64. },
  65. {
  66. path: 'dashboard',
  67. element: <DashboardPage />,
  68. errorElement: <ErrorPage />
  69. },
  70. {
  71. path: 'users',
  72. element: <UsersPage />,
  73. errorElement: <ErrorPage />
  74. },
  75. {
  76. path: 'settings',
  77. element: <SettingsPage />,
  78. errorElement: <ErrorPage />
  79. },
  80. {
  81. path: 'theme-settings',
  82. element: <ThemeSettingsPage />,
  83. errorElement: <ErrorPage />
  84. },
  85. {
  86. path: 'chart-dashboard',
  87. element: <ChartDashboardPage />,
  88. errorElement: <ErrorPage />
  89. },
  90. {
  91. path: 'map-dashboard',
  92. element: <LoginMapPage />,
  93. errorElement: <ErrorPage />
  94. },
  95. {
  96. path: 'know-info',
  97. element: <KnowInfoPage />,
  98. errorElement: <ErrorPage />
  99. },
  100. {
  101. path: 'file-library',
  102. element: <FileLibraryPage />,
  103. errorElement: <ErrorPage />
  104. },
  105. {
  106. path: 'messages',
  107. element: <MessagesPage />,
  108. errorElement: <ErrorPage />
  109. },
  110. {
  111. path: 'zichan',
  112. element: <ZichanPage />,
  113. errorElement: <ErrorPage />
  114. },{
  115. path: 'zichan-categorys',
  116. element: <ZichanCategoryPage />,
  117. errorElement: <ErrorPage />
  118. },
  119. {
  120. path: 'zichan-areas',
  121. element: <ZichanAreaPage />,
  122. errorElement: <ErrorPage />
  123. },
  124. {
  125. path: 'zichan-transfer',
  126. element: <ZichanTransferPage />,
  127. errorElement: <ErrorPage />
  128. },
  129. {
  130. path: 'device-types',
  131. element: <DeviceTypesPage />,
  132. errorElement: <ErrorPage />
  133. },
  134. {
  135. path: 'device-instances',
  136. element: <DeviceInstancesPage />,
  137. errorElement: <ErrorPage />
  138. },
  139. {
  140. path: 'rack-server-types',
  141. element: <RackServerTypePage />,
  142. errorElement: <ErrorPage />
  143. },
  144. {
  145. path: 'racks',
  146. element: <RackManagePage />,
  147. errorElement: <ErrorPage />
  148. },
  149. {
  150. path: 'rack-servers',
  151. element: <RackServerPage />,
  152. errorElement: <ErrorPage />
  153. },
  154. {
  155. path: 'device-monitor',
  156. element: <DeviceMonitorPage />,
  157. errorElement: <ErrorPage />
  158. },
  159. {
  160. path: 'alert-records',
  161. element: <AlertRecordsPage />,
  162. errorElement: <ErrorPage />
  163. },
  164. {
  165. path: 'alert-handle/:id',
  166. element: <AlertHandlePage />,
  167. errorElement: <ErrorPage />
  168. },
  169. {
  170. path: 'alert-handle-logs',
  171. element: <AlertHandleLogsPage />,
  172. errorElement: <ErrorPage />
  173. },
  174. {
  175. path: 'alert-notify-configs',
  176. element: <AlertNotifyConfigPage />,
  177. errorElement: <ErrorPage />
  178. },
  179. {
  180. path: 'device-alert-rules',
  181. element: <DeviceAlertRulePage />,
  182. errorElement: <ErrorPage />
  183. },
  184. {
  185. path: 'device-map',
  186. element: <DeviceMapManagePage />,
  187. errorElement: <ErrorPage />
  188. },
  189. {
  190. path: 'analysis/asset-category',
  191. element: <AssetCategoryChartPage />,
  192. errorElement: <ErrorPage />
  193. },
  194. {
  195. path: 'analysis/asset-transfer',
  196. element: <AssetTransferChartPage />,
  197. errorElement: <ErrorPage />
  198. },
  199. {
  200. path: 'analysis/alert-trend',
  201. element: <AlertTrendChartPage />,
  202. errorElement: <ErrorPage />
  203. },
  204. {
  205. path: 'analysis/online-devices',
  206. element: <OnlineDevicesChartPage />,
  207. errorElement: <ErrorPage />
  208. },
  209. {
  210. path: 'greenhouse-protocol',
  211. element: <GreenhouseProtocolPage />,
  212. errorElement: <ErrorPage />
  213. },
  214. {
  215. path: 'work-orders',
  216. element: <WorkOrdersPage />,
  217. errorElement: <ErrorPage />
  218. },
  219. {
  220. path: 'modbus-rtu-devices',
  221. element: <ModbusRtuDevicePage />,
  222. errorElement: <ErrorPage />
  223. },
  224. {
  225. path: 'inspections',
  226. element: <InspectionsPage />,
  227. errorElement: <ErrorPage />
  228. },
  229. {
  230. path: 'temperature-humidity',
  231. element: <TemperatureHumidityPage />,
  232. errorElement: <ErrorPage />
  233. },
  234. {
  235. path: 'smoke-water',
  236. element: <SmokeWaterPage />,
  237. errorElement: <ErrorPage />
  238. },
  239. {
  240. path: 'sms-module',
  241. element: <SmsModulePage />,
  242. errorElement: <ErrorPage />
  243. },
  244. {
  245. path: '*',
  246. element: <NotFoundPage />,
  247. errorElement: <ErrorPage />
  248. },
  249. ],
  250. },
  251. {
  252. path: '*',
  253. element: <NotFoundPage />,
  254. errorElement: <ErrorPage />
  255. },
  256. ]);