import { PageID } from "pages"; import LoadingScreen from "components/LoadingScreen"; import useAuth from "hooks/useAuth"; import SimpleLayout from "layouts/simple"; import { ElementType, Suspense, lazy, useMemo } from "react"; import { RouteObject, useRoutes } from "react-router-dom"; import { getRoute } from "./path"; import DashboardRoutes from "./sub/dashboard"; export const Loadable = (Component: ElementType) => (props: any) => { return ( }> ); }; const CommonRoutes = (): RouteObject => ({ element: , children: [{}], }); const AuthRoutes = (): RouteObject => ({ element: , children: [ { path: getRoute(PageID.LOGIN), element: , }, { path: getRoute(PageID.LOGOUT), element: , }, {}, ], }); export function Routes() { const { initialized } = useAuth(); return useRoutes([ CommonRoutes(), AuthRoutes(), ...DashboardRoutes(), { path: "403", element: , }, { path: "*", element: initialized ? : , }, ]); } // 認証関連 ------------------------------- const Login = Loadable(lazy(() => import("pages/auth/login"))); const Logout = Loadable(lazy(() => import("pages/auth/logout"))); // その他 --------------------------------- const Page403 = Loadable(lazy(() => import("pages/common/Page403"))); const Page404 = Loadable(lazy(() => import("pages/common/Page404")));