28 lines
1.0 KiB
TypeScript
28 lines
1.0 KiB
TypeScript
import { lazy, Suspense } from 'react'
|
|
import { Routes, Route, Navigate } from 'react-router'
|
|
import { Loading } from 'tdesign-react'
|
|
import { AppLayout } from '@/components/AppLayout'
|
|
|
|
const ProvidersPage = lazy(() => import('@/pages/Providers'))
|
|
const StatsPage = lazy(() => import('@/pages/Stats'))
|
|
const SettingsPage = lazy(() => import('@/pages/Settings'))
|
|
const AboutPage = lazy(() => import('@/pages/About'))
|
|
const NotFound = lazy(() => import('@/pages/NotFound'))
|
|
|
|
export function AppRoutes() {
|
|
return (
|
|
<Suspense fallback={<Loading />}>
|
|
<Routes>
|
|
<Route element={<AppLayout />}>
|
|
<Route index element={<Navigate to='/providers' replace />} />
|
|
<Route path='providers' element={<ProvidersPage />} />
|
|
<Route path='stats' element={<StatsPage />} />
|
|
<Route path='settings' element={<SettingsPage />} />
|
|
<Route path='about' element={<AboutPage />} />
|
|
<Route path='*' element={<NotFound />} />
|
|
</Route>
|
|
</Routes>
|
|
</Suspense>
|
|
)
|
|
}
|