diff options
Diffstat (limited to 'modern/src/Navigation.jsx')
-rw-r--r-- | modern/src/Navigation.jsx | 172 |
1 files changed, 0 insertions, 172 deletions
diff --git a/modern/src/Navigation.jsx b/modern/src/Navigation.jsx deleted file mode 100644 index 37a6ddb5..00000000 --- a/modern/src/Navigation.jsx +++ /dev/null @@ -1,172 +0,0 @@ -import React, { useState } from 'react'; -import { - Route, Routes, useLocation, useNavigate, -} from 'react-router-dom'; -import { useDispatch } from 'react-redux'; -import { LinearProgress } from '@mui/material'; -import MainPage from './main/MainPage'; -import CombinedReportPage from './reports/CombinedReportPage'; -import RouteReportPage from './reports/RouteReportPage'; -import ServerPage from './settings/ServerPage'; -import UsersPage from './settings/UsersPage'; -import DevicePage from './settings/DevicePage'; -import UserPage from './settings/UserPage'; -import NotificationsPage from './settings/NotificationsPage'; -import NotificationPage from './settings/NotificationPage'; -import GroupsPage from './settings/GroupsPage'; -import GroupPage from './settings/GroupPage'; -import PositionPage from './other/PositionPage'; -import NetworkPage from './other/NetworkPage'; -import EventReportPage from './reports/EventReportPage'; -import ReplayPage from './other/ReplayPage'; -import TripReportPage from './reports/TripReportPage'; -import StopReportPage from './reports/StopReportPage'; -import SummaryReportPage from './reports/SummaryReportPage'; -import ChartReportPage from './reports/ChartReportPage'; -import DriversPage from './settings/DriversPage'; -import DriverPage from './settings/DriverPage'; -import CalendarsPage from './settings/CalendarsPage'; -import CalendarPage from './settings/CalendarPage'; -import ComputedAttributesPage from './settings/ComputedAttributesPage'; -import ComputedAttributePage from './settings/ComputedAttributePage'; -import MaintenancesPage from './settings/MaintenancesPage'; -import MaintenancePage from './settings/MaintenancePage'; -import CommandsPage from './settings/CommandsPage'; -import CommandPage from './settings/CommandPage'; -import StatisticsPage from './reports/StatisticsPage'; -import LoginPage from './login/LoginPage'; -import RegisterPage from './login/RegisterPage'; -import ResetPasswordPage from './login/ResetPasswordPage'; -import GeofencesPage from './other/GeofencesPage'; -import GeofencePage from './settings/GeofencePage'; -import useQuery from './common/util/useQuery'; -import { useEffectAsync } from './reactHelper'; -import { devicesActions } from './store'; -import EventPage from './other/EventPage'; -import PreferencesPage from './settings/PreferencesPage'; -import AccumulatorsPage from './settings/AccumulatorsPage'; -import CommandDevicePage from './settings/CommandDevicePage'; -import CommandGroupPage from './settings/CommandGroupPage'; -import App from './App'; -import ChangeServerPage from './login/ChangeServerPage'; -import DevicesPage from './settings/DevicesPage'; -import ScheduledPage from './reports/ScheduledPage'; -import DeviceConnectionsPage from './settings/DeviceConnectionsPage'; -import GroupConnectionsPage from './settings/GroupConnectionsPage'; -import UserConnectionsPage from './settings/UserConnectionsPage'; -import LogsPage from './reports/LogsPage'; -import SharePage from './settings/SharePage'; -import AnnouncementPage from './settings/AnnouncementPage'; - -const Navigation = () => { - const navigate = useNavigate(); - const dispatch = useDispatch(); - - const [redirectsHandled, setRedirectsHandled] = useState(false); - - const { pathname } = useLocation(); - const query = useQuery(); - - useEffectAsync(async () => { - if (query.get('token')) { - const token = query.get('token'); - await fetch(`/api/session?token=${encodeURIComponent(token)}`); - navigate(pathname); - } else if (query.get('deviceId')) { - const deviceId = query.get('deviceId'); - const response = await fetch(`/api/devices?uniqueId=${deviceId}`); - if (response.ok) { - const items = await response.json(); - if (items.length > 0) { - dispatch(devicesActions.selectId(items[0].id)); - } - } else { - throw Error(await response.text()); - } - navigate('/'); - } else if (query.get('eventId')) { - const eventId = parseInt(query.get('eventId'), 10); - navigate(`/event/${eventId}`); - } else { - setRedirectsHandled(true); - } - }, [query]); - - if (!redirectsHandled) { - return (<LinearProgress />); - } - return ( - <Routes> - <Route path="/login" element={<LoginPage />} /> - <Route path="/register" element={<RegisterPage />} /> - <Route path="/reset-password" element={<ResetPasswordPage />} /> - <Route path="/change-server" element={<ChangeServerPage />} /> - <Route path="/" element={<App />}> - <Route index element={<MainPage />} /> - - <Route path="position/:id" element={<PositionPage />} /> - <Route path="network/:positionId" element={<NetworkPage />} /> - <Route path="event/:id" element={<EventPage />} /> - <Route path="replay" element={<ReplayPage />} /> - <Route path="geofences" element={<GeofencesPage />} /> - - <Route path="settings"> - <Route path="accumulators/:deviceId" element={<AccumulatorsPage />} /> - <Route path="announcement" element={<AnnouncementPage />} /> - <Route path="calendars" element={<CalendarsPage />} /> - <Route path="calendar/:id" element={<CalendarPage />} /> - <Route path="calendar" element={<CalendarPage />} /> - <Route path="commands" element={<CommandsPage />} /> - <Route path="command/:id" element={<CommandPage />} /> - <Route path="command" element={<CommandPage />} /> - <Route path="attributes" element={<ComputedAttributesPage />} /> - <Route path="attribute/:id" element={<ComputedAttributePage />} /> - <Route path="attribute" element={<ComputedAttributePage />} /> - <Route path="devices" element={<DevicesPage />} /> - <Route path="device/:id/connections" element={<DeviceConnectionsPage />} /> - <Route path="device/:id/command" element={<CommandDevicePage />} /> - <Route path="device/:id/share" element={<SharePage />} /> - <Route path="device/:id" element={<DevicePage />} /> - <Route path="device" element={<DevicePage />} /> - <Route path="drivers" element={<DriversPage />} /> - <Route path="driver/:id" element={<DriverPage />} /> - <Route path="driver" element={<DriverPage />} /> - <Route path="geofence/:id" element={<GeofencePage />} /> - <Route path="geofence" element={<GeofencePage />} /> - <Route path="groups" element={<GroupsPage />} /> - <Route path="group/:id/connections" element={<GroupConnectionsPage />} /> - <Route path="group/:id/command" element={<CommandGroupPage />} /> - <Route path="group/:id" element={<GroupPage />} /> - <Route path="group" element={<GroupPage />} /> - <Route path="maintenances" element={<MaintenancesPage />} /> - <Route path="maintenance/:id" element={<MaintenancePage />} /> - <Route path="maintenance" element={<MaintenancePage />} /> - <Route path="notifications" element={<NotificationsPage />} /> - <Route path="notification/:id" element={<NotificationPage />} /> - <Route path="notification" element={<NotificationPage />} /> - <Route path="preferences" element={<PreferencesPage />} /> - <Route path="server" element={<ServerPage />} /> - <Route path="users" element={<UsersPage />} /> - <Route path="user/:id/connections" element={<UserConnectionsPage />} /> - <Route path="user/:id" element={<UserPage />} /> - <Route path="user" element={<UserPage />} /> - </Route> - - <Route path="reports"> - <Route path="combined" element={<CombinedReportPage />} /> - <Route path="chart" element={<ChartReportPage />} /> - <Route path="event" element={<EventReportPage />} /> - <Route path="route" element={<RouteReportPage />} /> - <Route path="stop" element={<StopReportPage />} /> - <Route path="summary" element={<SummaryReportPage />} /> - <Route path="trip" element={<TripReportPage />} /> - <Route path="scheduled" element={<ScheduledPage />} /> - <Route path="statistics" element={<StatisticsPage />} /> - <Route path="logs" element={<LogsPage />} /> - </Route> - </Route> - </Routes> - ); -}; - -export default Navigation; |