decompose structure

This commit is contained in:
Первов Артем
2026-06-20 00:51:18 +03:00
parent dbda8ee613
commit 31add10e56
77 changed files with 4112 additions and 3974 deletions

5
src/app/App.tsx Normal file
View File

@@ -0,0 +1,5 @@
import { AppRouter } from './router';
export default function App() {
return <AppRouter />;
}

21
src/app/providers.tsx Normal file
View File

@@ -0,0 +1,21 @@
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
import type { PropsWithChildren } from 'react';
import { AuthProvider } from '../auth/AuthProvider';
const queryClient = new QueryClient({
defaultOptions: {
queries: {
staleTime: 1_000,
retry: 1,
refetchOnWindowFocus: false,
},
},
});
export function AppProviders({ children }: PropsWithChildren) {
return (
<QueryClientProvider client={queryClient}>
<AuthProvider>{children}</AuthProvider>
</QueryClientProvider>
);
}

32
src/app/router.tsx Normal file
View File

@@ -0,0 +1,32 @@
import { BrowserRouter, Navigate, Route, Routes, useNavigate } from 'react-router-dom';
import { EdgeDetailPage } from '../features/edge-detail/EdgeDetailPage';
import { EdgesDashboard } from '../features/edges-dashboard/EdgesDashboard';
function DashboardRoute() {
const navigate = useNavigate();
return (
<EdgesDashboard
onOpenEdge={(edgeId) => navigate(`/edges/${encodeURIComponent(edgeId)}`)}
onOpenEquipment={(edgeId) => navigate(`/edges/${encodeURIComponent(edgeId)}/equipment`)}
/>
);
}
export function AppRouter() {
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" />} />
{/* Электросхемы временно скрыты до готовности опубликованных схем и diagram-service. */}
{/* <Route path="/edges/:edgeId/electrical" element={<EdgeDetailPage view="electrical" />} /> */}
<Route path="*" element={<Navigate to="/edges" replace />} />
</Routes>
</BrowserRouter>
);
}