ui creation
This commit is contained in:
32
src/App.tsx
Normal file
32
src/App.tsx
Normal file
@@ -0,0 +1,32 @@
|
||||
import { BrowserRouter, Navigate, Route, Routes, useNavigate } from 'react-router-dom';
|
||||
import { EdgeDetailPage } from './pages/EdgeDetailPage';
|
||||
import { EdgesDashboard } from './pages/EdgesDashboard';
|
||||
|
||||
/** Связывает dashboard со SPA-навигацией без передачи navigate в саму страницу. */
|
||||
function DashboardRoute() {
|
||||
const navigate = useNavigate();
|
||||
|
||||
return (
|
||||
<EdgesDashboard
|
||||
onOpenEdge={(edgeId) => navigate(`/edges/${encodeURIComponent(edgeId)}`)}
|
||||
onOpenEquipment={(edgeId) => navigate(`/edges/${encodeURIComponent(edgeId)}/equipment`)}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
/** Описывает публичную карту маршрутов приложения вокруг edge-объектов. */
|
||||
export default function App() {
|
||||
return (
|
||||
<BrowserRouter>
|
||||
<Routes>
|
||||
<Route path="/" element={<Navigate to="/edges" replace />} />
|
||||
<Route path="/edges" element={<DashboardRoute />} />
|
||||
<Route path="/edges/:edgeId" element={<EdgeDetailPage view="overview" />} />
|
||||
<Route path="/edges/:edgeId/archive" element={<EdgeDetailPage view="archive" />} />
|
||||
<Route path="/edges/:edgeId/indicators" element={<EdgeDetailPage view="indicators" />} />
|
||||
<Route path="/edges/:edgeId/equipment" element={<EdgeDetailPage view="equipment" />} />
|
||||
<Route path="*" element={<Navigate to="/edges" replace />} />
|
||||
</Routes>
|
||||
</BrowserRouter>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user