feat: add Applications admin page with version upload and deployments
- SplitPane layout with environment selector, app list, and detail pane - Create/delete apps with slug uniqueness validation - Upload JAR versions with file size display - Deploy versions and stop running deployments with status badges - Deployment list auto-refreshes every 5s for live status updates - Registered at /admin/apps with sidebar entry Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -18,6 +18,7 @@ const OidcConfigPage = lazy(() => import('./pages/Admin/OidcConfigPage'));
|
||||
const DatabaseAdminPage = lazy(() => import('./pages/Admin/DatabaseAdminPage'));
|
||||
const ClickHouseAdminPage = lazy(() => import('./pages/Admin/ClickHouseAdminPage'));
|
||||
const EnvironmentsPage = lazy(() => import('./pages/Admin/EnvironmentsPage'));
|
||||
const AppsPage = lazy(() => import('./pages/Admin/AppsPage'));
|
||||
const AppConfigPage = lazy(() => import('./pages/Admin/AppConfigPage'));
|
||||
const LogsPage = lazy(() => import('./pages/LogsTab/LogsPage'));
|
||||
const SwaggerPage = lazy(() => import('./pages/Swagger/SwaggerPage'));
|
||||
@@ -83,6 +84,7 @@ export const router = createBrowserRouter([
|
||||
{ path: 'database', element: <SuspenseWrapper><DatabaseAdminPage /></SuspenseWrapper> },
|
||||
{ path: 'clickhouse', element: <SuspenseWrapper><ClickHouseAdminPage /></SuspenseWrapper> },
|
||||
{ path: 'environments', element: <SuspenseWrapper><EnvironmentsPage /></SuspenseWrapper> },
|
||||
{ path: 'apps', element: <SuspenseWrapper><AppsPage /></SuspenseWrapper> },
|
||||
],
|
||||
}],
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user