Files
La-Fabrik/src/router.tsx
T
2026-05-20 15:29:23 +02:00

107 lines
2.8 KiB
TypeScript

import {
Outlet,
createRootRoute,
createRoute,
createRouter,
} from "@tanstack/react-router";
import { HomePage } from "@/pages/page";
import { EditorPage } from "@/pages/editor/page";
import { WaypointEditorPage } from "@/pages/waypoint/page";
import { BackgroundMapPage } from "@/pages/backgroundmap/page";
import {
DocsAnimationRoute,
DocsAudioRoute,
DocsArchitectureRoute,
DocsCodeReviewRoute,
DocsEditorRoute,
DocsFeaturesRoute,
DocsHandTrackingRoute,
DocsInteractionRoute,
DocsLayoutRoute,
DocsMainFeatureRoute,
DocsMissionFlowRoute,
DocsReadmeRoute,
DocsRepairGameRoute,
DocsSceneRuntimeRoute,
DocsTargetArchitectureRoute,
DocsTechnicalEditorRoute,
DocsThreeDebuggingRoute,
DocsZustandRoute,
} from "@/routes/DocsRoute";
const rootRoute = createRootRoute({
component: Outlet,
});
const indexRoute = createRoute({
getParentRoute: () => rootRoute,
path: "/",
component: HomePage,
});
const editorRoute = createRoute({
getParentRoute: () => rootRoute,
path: "/editor",
component: EditorPage,
});
const waypointRoute = createRoute({
getParentRoute: () => rootRoute,
path: "/waypoint",
component: WaypointEditorPage,
});
const backgroundMapRoute = createRoute({
getParentRoute: () => rootRoute,
path: "/backgroundmap",
component: BackgroundMapPage,
});
const docsRoute = createRoute({
getParentRoute: () => rootRoute,
path: "/docs",
component: DocsLayoutRoute,
});
const docsChildRoutes = [
{ path: "/", component: DocsReadmeRoute },
{ path: "architecture", component: DocsArchitectureRoute },
{ path: "scene-runtime", component: DocsSceneRuntimeRoute },
{ path: "repair-game", component: DocsRepairGameRoute },
{ path: "mission-flow", component: DocsMissionFlowRoute },
{ path: "interaction", component: DocsInteractionRoute },
{ path: "target-architecture", component: DocsTargetArchitectureRoute },
{ path: "technical-editor", component: DocsTechnicalEditorRoute },
{ path: "audio", component: DocsAudioRoute },
{ path: "hand-tracking", component: DocsHandTrackingRoute },
{ path: "zustand", component: DocsZustandRoute },
{ path: "three-debugging", component: DocsThreeDebuggingRoute },
{ path: "features", component: DocsFeaturesRoute },
{ path: "main-feature", component: DocsMainFeatureRoute },
{ path: "editor", component: DocsEditorRoute },
{ path: "animation", component: DocsAnimationRoute },
{ path: "code-review", component: DocsCodeReviewRoute },
].map(({ path, component }) =>
createRoute({
getParentRoute: () => docsRoute,
path,
component,
}),
);
const routeTree = rootRoute.addChildren([
indexRoute,
editorRoute,
waypointRoute,
backgroundMapRoute,
docsRoute.addChildren(docsChildRoutes),
]);
export const router = createRouter({ routeTree });
declare module "@tanstack/react-router" {
interface Register {
router: typeof router;
}
}