mirror of
https://github.com/router-for-me/Cli-Proxy-API-Management-Center.git
synced 2026-02-18 10:40:50 +08:00
69 lines
3.5 KiB
TypeScript
69 lines
3.5 KiB
TypeScript
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 { AiProvidersClaudeEditPage } from '@/pages/AiProvidersClaudeEditPage';
|
|
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: <DashboardPage /> },
|
|
{ path: '/dashboard', element: <DashboardPage /> },
|
|
{ path: '/settings', element: <Navigate to="/config" replace /> },
|
|
{ path: '/api-keys', element: <Navigate to="/config" replace /> },
|
|
{ path: '/ai-providers/gemini/new', element: <AiProvidersGeminiEditPage /> },
|
|
{ path: '/ai-providers/gemini/:index', element: <AiProvidersGeminiEditPage /> },
|
|
{ path: '/ai-providers/codex/new', element: <AiProvidersCodexEditPage /> },
|
|
{ path: '/ai-providers/codex/:index', element: <AiProvidersCodexEditPage /> },
|
|
{ path: '/ai-providers/claude/new', element: <AiProvidersClaudeEditPage /> },
|
|
{ path: '/ai-providers/claude/:index', element: <AiProvidersClaudeEditPage /> },
|
|
{ path: '/ai-providers/vertex/new', element: <AiProvidersVertexEditPage /> },
|
|
{ path: '/ai-providers/vertex/:index', element: <AiProvidersVertexEditPage /> },
|
|
{
|
|
path: '/ai-providers/openai/new',
|
|
element: <AiProvidersOpenAIEditLayout />,
|
|
children: [
|
|
{ index: true, element: <AiProvidersOpenAIEditPage /> },
|
|
{ path: 'models', element: <AiProvidersOpenAIModelsPage /> },
|
|
],
|
|
},
|
|
{
|
|
path: '/ai-providers/openai/:index',
|
|
element: <AiProvidersOpenAIEditLayout />,
|
|
children: [
|
|
{ index: true, element: <AiProvidersOpenAIEditPage /> },
|
|
{ path: 'models', element: <AiProvidersOpenAIModelsPage /> },
|
|
],
|
|
},
|
|
{ path: '/ai-providers/ampcode', element: <AiProvidersAmpcodeEditPage /> },
|
|
{ path: '/ai-providers', element: <AiProvidersPage /> },
|
|
{ path: '/ai-providers/*', element: <AiProvidersPage /> },
|
|
{ path: '/auth-files', element: <AuthFilesPage /> },
|
|
{ path: '/auth-files/oauth-excluded', element: <AuthFilesOAuthExcludedEditPage /> },
|
|
{ path: '/auth-files/oauth-model-alias', element: <AuthFilesOAuthModelAliasEditPage /> },
|
|
{ path: '/oauth', element: <OAuthPage /> },
|
|
{ path: '/quota', element: <QuotaPage /> },
|
|
{ path: '/usage', element: <UsagePage /> },
|
|
{ path: '/config', element: <ConfigPage /> },
|
|
{ path: '/logs', element: <LogsPage /> },
|
|
{ path: '/system', element: <SystemPage /> },
|
|
{ path: '*', element: <Navigate to="/" replace /> },
|
|
];
|
|
|
|
export function MainRoutes({ location }: { location?: Location }) {
|
|
return useRoutes(mainRoutes, location);
|
|
}
|