import { ErrorBoundary } from 'react-error-boundary' import { createHashRouter, Navigate, type RouteObject } from 'react-router' import { RouterProvider } from 'react-router/dom' import type { AppRouteObject } from '#/router' import ProtectedRoute from '@/router/components/protected-route' import { usePermissionRoutes } from '@/router/hooks' import { ERROR_ROUTE } from '@/router/routes/error-routes' // import HOME_ROUTE from '@/router/routes/modules/constantRoutes' import DashboardLayout from '@/layouts/dashboard' import PageError from '@/pages/sys/error/PageError' import Login from '@/pages/sys/login/Login' const { VITE_APP_HOMEPAGE: HOMEPAGE } = import.meta.env const PUBLIC_ROUTE: AppRouteObject = { path: '/login', element: ( ) } const NO_MATCHED_ROUTE: AppRouteObject = { path: '*', element: } export default function Router() { console.log('Router render') const permissionRoutes = usePermissionRoutes() // 动态路由 const PROTECTED_ROUTE: AppRouteObject = { path: '/', element: ( ), children: [ { index: true, element: }, // HOME_ROUTE, ...permissionRoutes ] } const routes = [PUBLIC_ROUTE, PROTECTED_ROUTE, ERROR_ROUTE, NO_MATCHED_ROUTE] as RouteObject[] console.log(routes) const router = createHashRouter(routes) console.log(router) return }