keycloak-d4science-spi-parent/keycloak-d4science-theme/src.v3/js/apps/account-ui/src/routes.tsx

85 lines
2.3 KiB
TypeScript

import { lazy } from "react";
import type { IndexRouteObject, RouteObject } from "react-router-dom";
import { ErrorPage } from "./root/ErrorPage";
import { Root } from "./root/Root";
const DeviceActivity = lazy(() => import("./account-security/DeviceActivity"));
const LinkedAccounts = lazy(() => import("./account-security/LinkedAccounts"));
const SigningIn = lazy(() => import("./account-security/SigningIn"));
const Applications = lazy(() => import("./applications/Applications"));
const Groups = lazy(() => import("./groups/Groups"));
const PersonalInfo = lazy(() => import("./personal-info/PersonalInfo"));
const Resources = lazy(() => import("./resources/Resources"));
const ContentComponent = lazy(() => import("./content/ContentComponent"));
const AccountExtraPage = lazy(() => import("./d4science-page/AccountExtraPage"));
export const DeviceActivityRoute: RouteObject = {
path: "account-security/device-activity",
element: <DeviceActivity />,
};
export const LinkedAccountsRoute: RouteObject = {
path: "account-security/linked-accounts",
element: <LinkedAccounts />,
};
export const SigningInRoute: RouteObject = {
path: "account-security/signing-in",
element: <SigningIn />,
};
export const ApplicationsRoute: RouteObject = {
path: "applications",
element: <Applications />,
};
export const GroupsRoute: RouteObject = {
path: "groups",
element: <Groups />,
};
export const ResourcesRoute: RouteObject = {
path: "resources",
element: <Resources />,
};
export type ContentComponentParams = {
componentId: string;
};
export const ContentRoute: RouteObject = {
path: "/content/:componentId",
element: <ContentComponent />,
};
export const PersonalInfoRoute: IndexRouteObject = {
index: true,
element: <PersonalInfo />,
};
export const AccountExtraPageRoute: RouteObject = {
path: "d4science-page/account-extra-page",
element: <AccountExtraPage />,
};
export const RootRoute: RouteObject = {
path: "/",
element: <Root />,
errorElement: <ErrorPage />,
children: [
PersonalInfoRoute,
DeviceActivityRoute,
LinkedAccountsRoute,
SigningInRoute,
ApplicationsRoute,
GroupsRoute,
PersonalInfoRoute,
ResourcesRoute,
ContentRoute,
AccountExtraPageRoute
],
};
export const routes: RouteObject[] = [RootRoute];