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

45 lines
1.0 KiB
TypeScript
Raw Normal View History

import { Suspense, lazy, useLayoutEffect } from 'react'
import { Route, Switch, useLocation } from 'wouter'
2025-09-29 16:33:15 +08:00
2026-01-19 19:10:00 +08:00
import HomePage from './pages/Home'
import DocsPages from './pages/docs/index'
// const DocsPages = lazy(() => import('./pages/docs/index'))
2025-09-29 16:33:15 +08:00
function ScrollToTop() {
const [pathname] = useLocation()
useLayoutEffect(() => {
window.scrollTo(0, 0)
}, [pathname])
return null
}
2025-09-29 16:33:15 +08:00
export default function Router() {
return (
2026-01-16 15:05:09 +08:00
<Suspense>
<ScrollToTop />
2026-01-16 15:05:09 +08:00
<Switch>
{/* Home page */}
<Route path="/">
<HomePage />
</Route>
2025-09-29 16:33:15 +08:00
2026-01-17 01:27:19 +08:00
{/* All docs pages */}
2026-01-17 01:36:15 +08:00
<Route path="/docs" nest>
2026-01-17 01:27:19 +08:00
<DocsPages />
2026-01-16 15:05:09 +08:00
</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
)
}