admin / Synapse-Cortex
publicSelf Hosted ITSM Tool with RBAC/Tenanting and MFA
Synapse-Cortex / Synapse-Cortexv2 / frontend / src / App.tsx
3500 B · main
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | import { Navigate, Route, BrowserRouter, Routes } from 'react-router-dom' import { AuthProvider } from './auth/AuthContext' import { SetupGate } from './auth/SetupGate' import { RequireAdmin, RequireAuth, RequireGlobalAdmin } from './auth/RequireAuth' import { AppShell } from './layout/AppShell' import { Login } from './pages/Login' import { Setup } from './pages/Setup' import { MfaChallenge } from './pages/MfaChallenge' import { MfaEnroll } from './pages/MfaEnroll' import { MfaDisable } from './pages/MfaDisable' import { Dashboard } from './pages/Dashboard' import { TicketsList } from './pages/TicketsList' import { TicketDetail } from './pages/TicketDetail' import { AssetsList } from './pages/AssetsList' import { AssetDetail } from './pages/AssetDetail' import { SettingsProfile } from './pages/SettingsProfile' import { AdminUsers } from './pages/admin/AdminUsers' import { AdminSlaPolicies } from './pages/admin/AdminSlaPolicies' import { AdminAssetTypes } from './pages/admin/AdminAssetTypes' import { AdminIntegrations } from './pages/admin/AdminIntegrations' import { AdminAudit } from './pages/admin/AdminAudit' import { AdminPlaybooks } from './pages/admin/AdminPlaybooks' import { PlaybookBuilder } from './pages/admin/PlaybookBuilder' import { AdminAiSettings } from './pages/admin/AdminAiSettings' import { AdminVault } from './pages/admin/AdminVault' function App() { return ( <BrowserRouter> <SetupGate> <AuthProvider> <Routes> <Route path="/setup" element={<Setup />} /> <Route path="/login" element={<Login />} /> <Route path="/mfa" element={<MfaChallenge />} /> <Route element={<RequireAuth />}> <Route element={<AppShell />}> <Route index element={<Dashboard />} /> <Route path="tickets" element={<TicketsList />} /> <Route path="tickets/:id" element={<TicketDetail />} /> <Route path="assets" element={<AssetsList />} /> <Route path="assets/:id" element={<AssetDetail />} /> <Route path="settings" element={<SettingsProfile />} /> <Route path="settings/mfa/enroll" element={<MfaEnroll />} /> <Route path="settings/mfa/disable" element={<MfaDisable />} /> <Route element={<RequireAdmin />}> <Route path="admin/users" element={<AdminUsers />} /> <Route path="admin/sla-policies" element={<AdminSlaPolicies />} /> <Route path="admin/asset-types" element={<AdminAssetTypes />} /> <Route path="admin/integrations" element={<AdminIntegrations />} /> <Route path="admin/audit" element={<AdminAudit />} /> <Route path="admin/playbooks" element={<AdminPlaybooks />} /> <Route path="admin/playbooks/new" element={<PlaybookBuilder />} /> <Route path="admin/playbooks/:id" element={<PlaybookBuilder />} /> <Route element={<RequireGlobalAdmin />}> <Route path="admin/ai-settings" element={<AdminAiSettings />} /> <Route path="admin/vault" element={<AdminVault />} /> </Route> </Route> </Route> </Route> <Route path="*" element={<Navigate to="/" replace />} /> </Routes> </AuthProvider> </SetupGate> </BrowserRouter> ) } export default App |