22import '~/index.css'
33
44import { MetaProvider } from '@solidjs/meta'
5+ import type { RouteDefinition } from '@solidjs/router'
56import dayjs from 'dayjs'
67import 'dayjs/locale/zh-cn'
78import relativeTime from 'dayjs/plugin/relativeTime'
@@ -12,30 +13,25 @@ import { App } from '~/App'
1213import { ROUTES } from '~/constants'
1314import { I18nProvider , locale } from '~/i18n'
1415
15- const Setup = lazy ( ( ) => import ( '~/pages/Setup' ) )
16- const Overview = lazy ( ( ) => import ( '~/pages/Overview' ) )
17- const Connections = lazy ( ( ) => import ( '~/pages/Connections' ) )
18- const Logs = lazy ( ( ) => import ( '~/pages/Logs' ) )
19- const Proxies = lazy ( ( ) => import ( '~/pages/Proxies' ) )
20- const Rules = lazy ( ( ) => import ( '~/pages/Rules' ) )
21- const Config = lazy ( ( ) => import ( '~/pages/Config' ) )
16+ const routes : RouteDefinition [ ] = [
17+ { path : ROUTES . Setup , component : lazy ( ( ) => import ( '~/pages/Setup' ) ) } ,
18+ { path : ROUTES . Overview , component : lazy ( ( ) => import ( '~/pages/Overview' ) ) } ,
19+ { path : ROUTES . Proxies , component : lazy ( ( ) => import ( '~/pages/Proxies' ) ) } ,
20+ { path : ROUTES . Rules , component : lazy ( ( ) => import ( '~/pages/Rules' ) ) } ,
21+ { path : ROUTES . Conns , component : lazy ( ( ) => import ( '~/pages/Connections' ) ) } ,
22+ { path : ROUTES . Log , component : lazy ( ( ) => import ( '~/pages/Logs' ) ) } ,
23+ { path : ROUTES . Config , component : lazy ( ( ) => import ( '~/pages/Config' ) ) } ,
24+ // Fallback to overview for unknown routes
25+ { path : '*' , component : lazy ( ( ) => import ( '~/pages/Overview' ) ) } ,
26+ ]
2227
2328dayjs . extend ( relativeTime )
2429
2530render (
2631 ( ) => (
2732 < I18nProvider locale = { locale ( ) } >
2833 < MetaProvider >
29- < HashRouter root = { App } >
30- < Route path = { ROUTES . Setup } component = { Setup } />
31- < Route path = "*" component = { Overview } />
32- < Route path = { ROUTES . Overview } component = { Overview } />
33- < Route path = { ROUTES . Proxies } component = { Proxies } />
34- < Route path = { ROUTES . Rules } component = { Rules } />
35- < Route path = { ROUTES . Conns } component = { Connections } />
36- < Route path = { ROUTES . Log } component = { Logs } />
37- < Route path = { ROUTES . Config } component = { Config } />
38- </ HashRouter >
34+ < HashRouter root = { App } > { routes } </ HashRouter >
3935 </ MetaProvider >
4036
4137 < Toaster position = "bottom-center" />
0 commit comments