Files
page-agent/packages/website/src/router.tsx
T

124 lines
3.5 KiB
TypeScript
Raw Normal View History

2026-01-16 15:05:09 +08:00
import { Suspense, lazy } from 'react'
2025-09-29 16:33:15 +08:00
import { Route, Switch } from 'wouter'
import Header from './components/Header'
2026-01-11 01:16:57 +08:00
import DocsLayout from './pages/docs/Layout'
2026-01-16 15:05:09 +08:00
// Lazy load pages
const HomePage = lazy(() => import('./pages/Home'))
// Introduction
const Overview = lazy(() => import('./pages/docs/introduction/overview/page'))
const QuickStart = lazy(() => import('./pages/docs/introduction/quick-start/page'))
const Limitations = lazy(() => import('./pages/docs/introduction/limitations/page'))
// Features
const CustomTools = lazy(() => import('./pages/docs/features/custom-tools/page'))
const DataMasking = lazy(() => import('./pages/docs/features/data-masking/page'))
const Instructions = lazy(() => import('./pages/docs/features/custom-instructions/page'))
const Models = lazy(() => import('./pages/docs/features/models/page'))
// Integration
const CdnSetup = lazy(() => import('./pages/docs/integration/cdn-setup/page'))
const SecurityPermissions = lazy(() => import('./pages/docs/integration/security-permissions/page'))
const Configuration = lazy(() => import('./pages/docs/integration/configuration/page'))
const BestPractices = lazy(() => import('./pages/docs/integration/best-practices/page'))
const ThirdPartyAgent = lazy(() => import('./pages/docs/integration/third-party-agent/page'))
function DocsPage({ children }: { children: React.ReactNode }) {
return (
<div className="min-h-screen bg-white dark:bg-gray-900">
<Header />
<DocsLayout>
<Suspense>{children}</Suspense>
</DocsLayout>
</div>
)
}
2025-09-29 16:33:15 +08:00
export default function Router() {
return (
2026-01-16 15:05:09 +08:00
<Suspense>
<Switch>
{/* Home page */}
<Route path="/">
<HomePage />
</Route>
2025-09-29 16:33:15 +08:00
2026-01-16 15:05:09 +08:00
{/* Introduction */}
<Route path="/docs/introduction/overview">
<DocsPage>
2025-09-29 16:33:15 +08:00
<Overview />
2026-01-16 15:05:09 +08:00
</DocsPage>
</Route>
<Route path="/docs/introduction/quick-start">
<DocsPage>
2025-09-29 16:33:15 +08:00
<QuickStart />
2026-01-16 15:05:09 +08:00
</DocsPage>
</Route>
<Route path="/docs/introduction/limitations">
<DocsPage>
2025-09-29 16:33:15 +08:00
<Limitations />
2026-01-16 15:05:09 +08:00
</DocsPage>
</Route>
2025-09-29 16:33:15 +08:00
2026-01-16 15:05:09 +08:00
{/* Features */}
<Route path="/docs/features/custom-tools">
<DocsPage>
2025-09-29 16:33:15 +08:00
<CustomTools />
2026-01-16 15:05:09 +08:00
</DocsPage>
</Route>
<Route path="/docs/features/data-masking">
<DocsPage>
2025-09-29 16:33:15 +08:00
<DataMasking />
2026-01-16 15:05:09 +08:00
</DocsPage>
</Route>
<Route path="/docs/features/custom-instructions">
<DocsPage>
2026-01-10 19:02:18 +08:00
<Instructions />
2026-01-16 15:05:09 +08:00
</DocsPage>
</Route>
<Route path="/docs/features/models">
<DocsPage>
2026-01-13 15:17:43 +08:00
<Models />
2026-01-16 15:05:09 +08:00
</DocsPage>
</Route>
2025-09-29 16:33:15 +08:00
2026-01-16 15:05:09 +08:00
{/* Integration */}
<Route path="/docs/integration/cdn-setup">
<DocsPage>
2025-09-29 16:33:15 +08:00
<CdnSetup />
2026-01-16 15:05:09 +08:00
</DocsPage>
</Route>
<Route path="/docs/integration/security-permissions">
<DocsPage>
2026-01-11 01:40:21 +08:00
<SecurityPermissions />
2026-01-16 15:05:09 +08:00
</DocsPage>
</Route>
<Route path="/docs/integration/configuration">
<DocsPage>
2025-09-29 16:33:15 +08:00
<Configuration />
2026-01-16 15:05:09 +08:00
</DocsPage>
</Route>
<Route path="/docs/integration/best-practices">
<DocsPage>
2025-09-29 16:33:15 +08:00
<BestPractices />
2026-01-16 15:05:09 +08:00
</DocsPage>
</Route>
<Route path="/docs/integration/third-party-agent">
<DocsPage>
2025-09-29 16:33:15 +08:00
<ThirdPartyAgent />
2026-01-16 15:05:09 +08:00
</DocsPage>
</Route>
2025-09-29 16:33:15 +08:00
2026-01-16 15:05:09 +08:00
{/* 404 */}
<Route>
<div className="min-h-screen bg-white dark:bg-gray-900 flex items-center justify-center">
<div className="text-center">
<h1 className="text-4xl font-bold mb-4 text-gray-900 dark:text-white">404</h1>
<p className="text-xl text-gray-600 dark:text-gray-300">页面未找到</p>
</div>
2025-09-29 16:33:15 +08:00
</div>
2026-01-16 15:05:09 +08:00
</Route>
</Switch>
</Suspense>
2025-09-29 16:33:15 +08:00
)
}