FactuGES_ERP/apps/web/src/routes/app-routes.tsx

111 lines
2.4 KiB
TypeScript
Raw Normal View History

2026-06-01 18:48:12 +00:00
// apps/web/src/routes/app-routes.tsx
2026-03-07 18:27:23 +00:00
2026-06-02 16:40:23 +00:00
import { Navigate, createBrowserRouter } from "react-router-dom";
import { buildModuleRoutes } from "@/components/module-routes";
import { AppFullscreenLayout, AppSidebarLayout, AuthLayout } from "@/layout";
2026-04-12 10:07:15 +00:00
import ShadcnShowcasePage from "@/pages/shadcn-ui-page";
import TailwindV4ShowcasePage from "@/pages/tailwindcss-page";
2026-03-07 18:27:23 +00:00
2026-06-02 16:40:23 +00:00
import { ErrorPage } from "../pages";
2026-06-01 18:48:12 +00:00
import { modules } from "../register-modules";
2025-05-28 14:21:09 +00:00
2026-06-02 16:40:23 +00:00
export const getAppRouter = () => {
const params = {
...import.meta.env,
2025-05-28 14:21:09 +00:00
};
2026-06-02 16:40:23 +00:00
const authRoutes = buildModuleRoutes({
modules,
params,
layout: "auth",
});
2025-05-28 14:21:09 +00:00
2026-06-02 16:40:23 +00:00
const appSidebarRoutes = buildModuleRoutes({
modules,
params,
layout: "app-sidebar",
});
2025-05-28 14:21:09 +00:00
2026-06-02 16:40:23 +00:00
const appFullscreenRoutes = buildModuleRoutes({
modules,
params,
layout: "app-fullscreen",
});
2025-05-28 14:21:09 +00:00
2026-06-02 16:40:23 +00:00
const appRoutes = createBrowserRouter([
{
path: "/",
children: [
{
index: true,
element: <Navigate replace to="/proformas" />,
},
2025-05-28 14:21:09 +00:00
2026-06-02 16:40:23 +00:00
{
element: <AuthLayout />,
2026-07-05 11:43:13 +00:00
children: authRoutes,
},
{
path: "auth",
2026-06-02 16:40:23 +00:00
children: [
{
index: true,
2026-07-05 11:43:13 +00:00
element: <Navigate replace to="/login" />,
},
{
path: "*",
element: <Navigate replace to="/login" />,
2026-06-02 16:40:23 +00:00
},
],
},
2025-05-28 14:21:09 +00:00
2026-06-02 16:40:23 +00:00
{
element: <AppFullscreenLayout />,
children: appFullscreenRoutes,
},
2026-06-01 18:48:12 +00:00
2026-06-02 16:40:23 +00:00
{
element: <AppSidebarLayout />,
children: [
{
path: "shadcnui",
element: <ShadcnShowcasePage />,
},
{
path: "tailwindcss4",
element: <TailwindV4ShowcasePage />,
},
{
path: "dashboard",
element: <ErrorPage />,
},
{
path: "settings",
element: <ErrorPage />,
},
{
path: "catalog",
element: <ErrorPage />,
},
{
path: "quotes",
element: <ErrorPage />,
},
2025-08-24 10:14:20 +00:00
2026-06-02 16:40:23 +00:00
...appSidebarRoutes,
],
},
2026-04-12 10:07:15 +00:00
2026-06-02 16:40:23 +00:00
{
path: "*",
element: <ErrorPage />,
},
],
},
]);
2026-06-01 18:48:12 +00:00
2026-06-02 16:40:23 +00:00
return appRoutes;
2025-05-28 14:21:09 +00:00
};