import { Suspense } from 'react'; import { createBrowserRouter, type RouteObject } from 'react-router'; import { Spin } from 'antd'; import PanelLayout from '@/layouts/PanelLayout'; import { PANEL_ROUTES } from '@/routes/panelRoutes'; function withSuspense(node: React.ReactNode) { return ( } > {node} ); } export const routes: RouteObject[] = [ { path: '/', element: , children: PANEL_ROUTES.map((route) => { const element = withSuspense(); return route.path === '/' ? { index: true, element } : { path: route.path.slice(1), element }; }), }, ]; function computeBasename() { const raw = (typeof window !== 'undefined' && window.X_UI_BASE_PATH) || '/'; const trimmed = raw.replace(/\/+$/, ''); return `${trimmed}/panel`; } export const router = createBrowserRouter(routes, { basename: computeBasename(), });