arm-core/web/src/App.tsx
2026-10-21 16:48:11 +03:00

59 lines
1.9 KiB
TypeScript

import './App.css';
import { Layout } from 'antd';
import { App as AntApp } from 'antd';
import { Provider } from 'react-redux';
import { BrowserRouter, Route, Routes } from 'react-router-dom';
import { AuthGate } from './auth/AuthGate';
import { Config } from './conf/config';
import {
Admin,
AuditLogging,
CatalogueGroup,
CatalogueJur,
ConsolidationPage,
DocStorage,
DocumentPage,
GroupsLayout,
Main,
Mono,
} from './layouts/';
import { ConsolidationReportPage } from './layouts/ConsolidationReportPage';
import { store } from './store/store';
import { Sidebar } from './widgets/Sidebar/Sidebar';
// Каркас: экраны по docs/context/10-user-journey.md добавляются срезами.
function App() {
return (
<Provider store={store}>
<AntApp>
<BrowserRouter basename={Config.APP_ADDRESS}>
<AuthGate>
<Layout hasSider={true} style={{ height: '100vh' }}>
<Sidebar />
<Layout.Content>
<Routes>
<Route path='/admin' element={<Admin />} />
<Route path='/' element={<Main />} />
<Route path='/groups'>
<Route index element={<GroupsLayout />} />
<Route path=':group_id' element={<ConsolidationPage />} />
<Route path=':group_id/versions/:version_id/:tab' element={<ConsolidationReportPage />} />
<Route path='monozaemchiki' element={<Mono />} />
</Route>
<Route path='/catalogue/groups' element={<CatalogueGroup />} />
<Route path='/catalogue/jur_l' element={<CatalogueJur />} />
<Route path='/docstorage' element={<DocStorage />} />
<Route path='/documents/:document_id' element={<DocumentPage />} />
<Route path='/logging' element={<AuditLogging />} />
</Routes>
</Layout.Content>
</Layout>
</AuthGate>
</BrowserRouter>
</AntApp>
</Provider>
);
}
export default App;