- Added Spanish translations for home page components. - Created API endpoints for fetching home-related data (customers, proformas, issued invoices). - Developed hooks for managing home page data queries. - Implemented home page layout with KPI cards, attention panels, monthly billing summary, and recent activity sections. - Added error handling and loading states for improved user experience.
153 lines
3.4 KiB
TypeScript
153 lines
3.4 KiB
TypeScript
// apps/web/src/routes/app-routes.tsx
|
|
|
|
import { Navigate, createBrowserRouter } from "react-router-dom";
|
|
|
|
import { buildModuleRoutes } from "@/components/module-routes";
|
|
import {
|
|
AppFullscreenLayout,
|
|
AppFullscreenLayoutFrame,
|
|
AppSidebarLayout,
|
|
AppSidebarLayoutFrame,
|
|
AuthLayout,
|
|
AuthLayoutFrame,
|
|
} from "@/layout";
|
|
import { UiKitPage } from "@/development/ui-kit";
|
|
import { HomePage } from "@/home";
|
|
import ShadcnShowcasePage from "@/pages/shadcn-ui-page";
|
|
import { buildSettingsRoute } from "@/settings";
|
|
import TailwindV4ShowcasePage from "@/pages/tailwindcss-page";
|
|
|
|
import { RouteErrorPage, StaticRouteErrorPage } from "../pages";
|
|
import { modules } from "../register-modules";
|
|
|
|
const AuthRouteErrorElement = () => (
|
|
<AuthLayoutFrame>
|
|
<RouteErrorPage />
|
|
</AuthLayoutFrame>
|
|
);
|
|
|
|
const AppFullscreenRouteErrorElement = () => (
|
|
<AppFullscreenLayoutFrame>
|
|
<RouteErrorPage />
|
|
</AppFullscreenLayoutFrame>
|
|
);
|
|
|
|
const AppSidebarRouteErrorElement = () => (
|
|
<AppSidebarLayoutFrame>
|
|
<RouteErrorPage />
|
|
</AppSidebarLayoutFrame>
|
|
);
|
|
|
|
export const getAppRouter = () => {
|
|
const params = {
|
|
...import.meta.env,
|
|
};
|
|
|
|
const authRoutes = buildModuleRoutes({
|
|
modules,
|
|
params,
|
|
layout: "auth",
|
|
});
|
|
|
|
const appSidebarRoutes = buildModuleRoutes({
|
|
modules,
|
|
params,
|
|
excludePathPrefix: "settings",
|
|
layout: "app-sidebar",
|
|
});
|
|
|
|
const appFullscreenRoutes = buildModuleRoutes({
|
|
modules,
|
|
params,
|
|
layout: "app-fullscreen",
|
|
});
|
|
|
|
const developmentRoutes = import.meta.env.DEV
|
|
? [
|
|
{
|
|
path: "development/ui-kit",
|
|
element: <UiKitPage />,
|
|
},
|
|
]
|
|
: [];
|
|
|
|
const appRoutes = createBrowserRouter([
|
|
{
|
|
path: "/",
|
|
children: [
|
|
{
|
|
index: true,
|
|
element: <Navigate replace to="/dashboard" />,
|
|
},
|
|
|
|
{
|
|
element: <AuthLayout />,
|
|
errorElement: <AuthRouteErrorElement />,
|
|
children: authRoutes,
|
|
},
|
|
|
|
{
|
|
path: "auth",
|
|
children: [
|
|
{
|
|
index: true,
|
|
element: <Navigate replace to="/login" />,
|
|
},
|
|
{
|
|
path: "*",
|
|
element: <Navigate replace to="/login" />,
|
|
},
|
|
],
|
|
},
|
|
|
|
{
|
|
element: <AppFullscreenLayout />,
|
|
errorElement: <AppFullscreenRouteErrorElement />,
|
|
children: appFullscreenRoutes,
|
|
},
|
|
|
|
{
|
|
element: <AppSidebarLayout />,
|
|
errorElement: <AppSidebarRouteErrorElement />,
|
|
children: [
|
|
{
|
|
path: "shadcnui",
|
|
element: <ShadcnShowcasePage />,
|
|
},
|
|
{
|
|
path: "tailwindcss4",
|
|
element: <TailwindV4ShowcasePage />,
|
|
},
|
|
{
|
|
path: "dashboard",
|
|
element: <HomePage />,
|
|
},
|
|
{
|
|
path: "catalog",
|
|
element: <StaticRouteErrorPage variant="notFound" />,
|
|
},
|
|
{
|
|
path: "quotes",
|
|
element: <StaticRouteErrorPage variant="notFound" />,
|
|
},
|
|
buildSettingsRoute({
|
|
modules,
|
|
params,
|
|
}),
|
|
...developmentRoutes,
|
|
|
|
...appSidebarRoutes,
|
|
],
|
|
},
|
|
|
|
{
|
|
path: "*",
|
|
element: <StaticRouteErrorPage variant="notFound" />,
|
|
},
|
|
],
|
|
},
|
|
]);
|
|
|
|
return appRoutes;
|
|
};
|