import { routes as adminRoutes } from '@/routers/AdminDashboardRouter' import { routes as clientRoutes } from '@/routers/DashboardRouter' import { lazyLoad } from '@/routers/helpers' import AuthenticatedRoutes from '@/routers/middleware/AuthenticatedRoutes' import GuestRoutes from '@/routers/middleware/GuestRoutes' import { ReactNode, lazy } from 'react' import { Outlet, RouteObject, createBrowserRouter } from 'react-router-dom' import { NotFound } from '@/components/elements/ScreenBlock' import NavigationBar from '@/components/elements/navigation/NavigationBar' import NavigationBarProvider from '@/components/NavigationBarProvider' export type Route = { handle?: Handle children?: Route[] } & Omit export interface Handle { crumb: (data: any) => { to: string element: ReactNode } } const router = createBrowserRouter([ { path: '/auth', element: ( ), children: [ { path: 'login', element: lazyLoad( lazy(() => import('@/components/auth/LoginContainer')) ), }, ], }, { path: '/', element: ( ), children: [...clientRoutes, ...adminRoutes] as RouteObject[], }, { path: '*', element: , }, ]) export default router