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")));