import { Navigate, useRoutes, type Location } from 'react-router-dom'; import { DashboardPage } from '@/pages/DashboardPage'; import { AiProvidersPage } from '@/pages/AiProvidersPage'; import { AiProvidersAmpcodeEditPage } from '@/pages/AiProvidersAmpcodeEditPage'; import { AiProvidersClaudeEditLayout } from '@/pages/AiProvidersClaudeEditLayout'; import { AiProvidersClaudeEditPage } from '@/pages/AiProvidersClaudeEditPage'; import { AiProvidersClaudeModelsPage } from '@/pages/AiProvidersClaudeModelsPage'; import { AiProvidersCodexEditPage } from '@/pages/AiProvidersCodexEditPage'; import { AiProvidersGeminiEditPage } from '@/pages/AiProvidersGeminiEditPage'; import { AiProvidersOpenAIEditLayout } from '@/pages/AiProvidersOpenAIEditLayout'; import { AiProvidersOpenAIEditPage } from '@/pages/AiProvidersOpenAIEditPage'; import { AiProvidersOpenAIModelsPage } from '@/pages/AiProvidersOpenAIModelsPage'; import { AiProvidersVertexEditPage } from '@/pages/AiProvidersVertexEditPage'; import { AuthFilesPage } from '@/pages/AuthFilesPage'; import { AuthFilesOAuthExcludedEditPage } from '@/pages/AuthFilesOAuthExcludedEditPage'; import { AuthFilesOAuthModelAliasEditPage } from '@/pages/AuthFilesOAuthModelAliasEditPage'; import { OAuthPage } from '@/pages/OAuthPage'; import { QuotaPage } from '@/pages/QuotaPage'; import { UsagePage } from '@/pages/UsagePage'; import { ConfigPage } from '@/pages/ConfigPage'; import { LogsPage } from '@/pages/LogsPage'; import { SystemPage } from '@/pages/SystemPage'; const mainRoutes = [ { path: '/', element: }, { path: '/dashboard', element: }, { path: '/settings', element: }, { path: '/api-keys', element: }, { path: '/ai-providers/gemini/new', element: }, { path: '/ai-providers/gemini/:index', element: }, { path: '/ai-providers/codex/new', element: }, { path: '/ai-providers/codex/:index', element: }, { path: '/ai-providers/claude/new', element: , children: [ { index: true, element: }, { path: 'models', element: }, ], }, { path: '/ai-providers/claude/:index', element: , children: [ { index: true, element: }, { path: 'models', element: }, ], }, { path: '/ai-providers/vertex/new', element: }, { path: '/ai-providers/vertex/:index', element: }, { path: '/ai-providers/openai/new', element: , children: [ { index: true, element: }, { path: 'models', element: }, ], }, { path: '/ai-providers/openai/:index', element: , children: [ { index: true, element: }, { path: 'models', element: }, ], }, { path: '/ai-providers/ampcode', element: }, { path: '/ai-providers', element: }, { path: '/ai-providers/*', element: }, { path: '/auth-files', element: }, { path: '/auth-files/oauth-excluded', element: }, { path: '/auth-files/oauth-model-alias', element: }, { path: '/oauth', element: }, { path: '/quota', element: }, { path: '/usage', element: }, { path: '/config', element: }, { path: '/logs', element: }, { path: '/system', element: }, { path: '*', element: }, ]; export function MainRoutes({ location }: { location?: Location }) { return useRoutes(mainRoutes, location); }