mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-30 11:08:12 +00:00
54 lines
1.8 KiB
TypeScript
54 lines
1.8 KiB
TypeScript
import {
|
|
useNavigate,
|
|
useLocation,
|
|
Routes,
|
|
Route,
|
|
Navigate,
|
|
} from "react-router-dom";
|
|
import { DashboardLayout, type SidebarItem } from "@edr/ui-common";
|
|
|
|
import TicketsPage from "./pages/tickets/TicketsPage";
|
|
import TicketDetailPage from "./pages/tickets/TicketDetailPage";
|
|
import BookTicketPage from "./pages/tickets/BookTicketPage";
|
|
import SchedulesPage from "./pages/schedules/SchedulesPage";
|
|
import ScheduleDetailPage from "./pages/schedules/ScheduleDetailPage";
|
|
import StationsPage from "./pages/stations/StationsPage";
|
|
import PassengersPage from "./pages/passengers/PassengersPage";
|
|
import DashboardPage from "./pages/dashboard/DashboardPage";
|
|
|
|
const sidebarItems: SidebarItem[] = [
|
|
{ label: "Dashboard", href: "/" },
|
|
{ label: "Tickets", href: "/tickets" },
|
|
{ label: "Schedules", href: "/schedules" },
|
|
{ label: "Stations", href: "/stations" },
|
|
{ label: "Passengers", href: "/passengers" },
|
|
];
|
|
|
|
const App = () => {
|
|
const navigate = useNavigate();
|
|
const location = useLocation();
|
|
|
|
return (
|
|
<DashboardLayout
|
|
title="EDR Passenger"
|
|
sidebarItems={sidebarItems}
|
|
activeHref={location.pathname}
|
|
onNavigate={navigate}
|
|
>
|
|
<Routes>
|
|
<Route path="/" element={<DashboardPage />} />
|
|
<Route path="/tickets" element={<TicketsPage />} />
|
|
<Route path="/tickets/new" element={<BookTicketPage />} />
|
|
<Route path="/tickets/:id" element={<TicketDetailPage />} />
|
|
<Route path="/schedules" element={<SchedulesPage />} />
|
|
<Route path="/schedules/:id" element={<ScheduleDetailPage />} />
|
|
<Route path="/stations" element={<StationsPage />} />
|
|
<Route path="/passengers" element={<PassengersPage />} />
|
|
<Route path="*" element={<Navigate to="/" replace />} />
|
|
</Routes>
|
|
</DashboardLayout>
|
|
);
|
|
};
|
|
|
|
export default App;
|