konobangu/apps/webui/src/utils/route/index.ts

37 lines
850 B
TypeScript

import { FileRoutesByPath, Outlet } from '@tanstack/solid-router';
import { guardRouteIndexAsNotFound } from '~/components/layout/app-not-found';
import type { RouteStateDataOption } from '~/traits/router';
export interface BuildVirtualBranchRouteOptions {
title: string;
}
export function buildVirtualBranchRouteOptions(
options: BuildVirtualBranchRouteOptions
) {
return {
beforeLoad: guardRouteIndexAsNotFound,
staticData: {
breadcrumb: {
label: options.title,
link: undefined,
},
} satisfies RouteStateDataOption,
component: Outlet,
};
}
export interface BuildLeafRouteStaticDataOptions {
title: string;
}
export function buildLeafRouteStaticData(
options: BuildLeafRouteStaticDataOptions
): RouteStateDataOption {
return {
breadcrumb: {
label: options.title,
},
};
}