generated from Dicken/dickendock
Commit 6: Adminbereich (TanStack Router, 8 Menüpunkte, Scan-Logs)
This commit is contained in:
107
apps/frontend/src/router.tsx
Normal file
107
apps/frontend/src/router.tsx
Normal file
@@ -0,0 +1,107 @@
|
||||
import { Outlet, createRootRoute, createRoute, createRouter, redirect } from "@tanstack/react-router";
|
||||
import { HomePage } from "./routes/HomePage.js";
|
||||
import { AdminLayout } from "./routes/admin/AdminLayout.js";
|
||||
import { DashboardPage } from "./routes/admin/DashboardPage.js";
|
||||
import { DevicesPage } from "./routes/admin/DevicesPage.js";
|
||||
import { ServicesPage } from "./routes/admin/ServicesPage.js";
|
||||
import { CategoriesPage } from "./routes/admin/CategoriesPage.js";
|
||||
import { ScannerPage } from "./routes/admin/ScannerPage.js";
|
||||
import { PluginsPage } from "./routes/admin/PluginsPage.js";
|
||||
import { SettingsPage } from "./routes/admin/SettingsPage.js";
|
||||
import { LogsPage } from "./routes/admin/LogsPage.js";
|
||||
|
||||
const rootRoute = createRootRoute({
|
||||
component: () => <Outlet />,
|
||||
});
|
||||
|
||||
const indexRoute = createRoute({
|
||||
getParentRoute: () => rootRoute,
|
||||
path: "/",
|
||||
component: HomePage,
|
||||
});
|
||||
|
||||
const adminRoute = createRoute({
|
||||
getParentRoute: () => rootRoute,
|
||||
path: "/admin",
|
||||
component: AdminLayout,
|
||||
});
|
||||
|
||||
// /admin ohne weiteren Pfad -> Dashboard
|
||||
const adminIndexRoute = createRoute({
|
||||
getParentRoute: () => adminRoute,
|
||||
path: "/",
|
||||
loader: () => {
|
||||
throw redirect({ to: "/admin/dashboard" });
|
||||
},
|
||||
});
|
||||
|
||||
const adminDashboardRoute = createRoute({
|
||||
getParentRoute: () => adminRoute,
|
||||
path: "/dashboard",
|
||||
component: DashboardPage,
|
||||
});
|
||||
|
||||
const adminDevicesRoute = createRoute({
|
||||
getParentRoute: () => adminRoute,
|
||||
path: "/devices",
|
||||
component: DevicesPage,
|
||||
});
|
||||
|
||||
const adminServicesRoute = createRoute({
|
||||
getParentRoute: () => adminRoute,
|
||||
path: "/services",
|
||||
component: ServicesPage,
|
||||
});
|
||||
|
||||
const adminCategoriesRoute = createRoute({
|
||||
getParentRoute: () => adminRoute,
|
||||
path: "/categories",
|
||||
component: CategoriesPage,
|
||||
});
|
||||
|
||||
const adminScannerRoute = createRoute({
|
||||
getParentRoute: () => adminRoute,
|
||||
path: "/scanner",
|
||||
component: ScannerPage,
|
||||
});
|
||||
|
||||
const adminPluginsRoute = createRoute({
|
||||
getParentRoute: () => adminRoute,
|
||||
path: "/plugins",
|
||||
component: PluginsPage,
|
||||
});
|
||||
|
||||
const adminSettingsRoute = createRoute({
|
||||
getParentRoute: () => adminRoute,
|
||||
path: "/settings",
|
||||
component: SettingsPage,
|
||||
});
|
||||
|
||||
const adminLogsRoute = createRoute({
|
||||
getParentRoute: () => adminRoute,
|
||||
path: "/logs",
|
||||
component: LogsPage,
|
||||
});
|
||||
|
||||
const routeTree = rootRoute.addChildren([
|
||||
indexRoute,
|
||||
adminRoute.addChildren([
|
||||
adminIndexRoute,
|
||||
adminDashboardRoute,
|
||||
adminDevicesRoute,
|
||||
adminServicesRoute,
|
||||
adminCategoriesRoute,
|
||||
adminScannerRoute,
|
||||
adminPluginsRoute,
|
||||
adminSettingsRoute,
|
||||
adminLogsRoute,
|
||||
]),
|
||||
]);
|
||||
|
||||
export const router = createRouter({ routeTree });
|
||||
|
||||
declare module "@tanstack/react-router" {
|
||||
interface Register {
|
||||
router: typeof router;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user