import type { IRouteParams } from "@ethicdevs/react-monolith";
import { AppRouter, AppRouterGroup, Router } from "@ethicdevs/react-monolith";
import React from "react";
import * as HomeController from "./controllers/HomeController";
import * as ThemeController from "./controllers/ThemeController";
export enum AppRoute {
HOME = "home",
THEME_SET = "theme.set",
}
export interface AppRoutesParams extends IRouteParams {
[AppRoute.HOME]: undefined;
[AppRoute.THEME_SET]: {
themeScheme: string;
};
}
const RootAppRouter: AppRouter = () => (
<Router.Root>
<></>
<Router.Group type={AppRouterGroup.API}>
<Router.Route
name={AppRoute.HOME}
method={"GET"}
path={"/"}
handler={HomeController.getHomeView}
/>
<Router.Route
name={AppRoute.THEME_SET}
method={"GET"}
path={"/theme/:themeScheme"}
handler={ThemeController.getTheme}
/>
</Router.Group>
</Router.Root>
);
export default RootAppRouter;