feat: restructure admin sidebar with collapsible sub-navigation and new routes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-03-17 16:09:23 +01:00
parent 4d5a4842b9
commit 9fbda7715c
3 changed files with 115 additions and 11 deletions

View File

@@ -10,6 +10,9 @@ import { RoutePage } from './pages/routes/RoutePage';
import { AppScopedView } from './pages/dashboard/AppScopedView';
const SwaggerPage = lazy(() => import('./pages/swagger/SwaggerPage').then(m => ({ default: m.SwaggerPage })));
const DatabaseAdminPage = lazy(() => import('./pages/admin/DatabaseAdminPage').then(m => ({ default: m.DatabaseAdminPage })));
const OpenSearchAdminPage = lazy(() => import('./pages/admin/OpenSearchAdminPage').then(m => ({ default: m.OpenSearchAdminPage })));
const AuditLogPage = lazy(() => import('./pages/admin/AuditLogPage').then(m => ({ default: m.AuditLogPage })));
export const router = createBrowserRouter([
{
@@ -30,6 +33,10 @@ export const router = createBrowserRouter([
{ path: 'executions', element: <ExecutionExplorer /> },
{ path: 'apps/:group', element: <AppScopedView /> },
{ path: 'apps/:group/routes/:routeId', element: <RoutePage /> },
{ path: 'admin', element: <Navigate to="/admin/database" replace /> },
{ path: 'admin/database', element: <Suspense fallback={null}><DatabaseAdminPage /></Suspense> },
{ path: 'admin/opensearch', element: <Suspense fallback={null}><OpenSearchAdminPage /></Suspense> },
{ path: 'admin/audit', element: <Suspense fallback={null}><AuditLogPage /></Suspense> },
{ path: 'admin/oidc', element: <OidcAdminPage /> },
{ path: 'swagger', element: <Suspense fallback={null}><SwaggerPage /></Suspense> },
],