import { createFileRoute } from "@tanstack/react-router"; import { BreadcrumbTypes } from "@app/components/v2"; import { projectKeys } from "@app/hooks/api"; import { fetchProjectById } from "@app/hooks/api/projects/queries"; import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries"; import { KmsLayout } from "@app/layouts/KmsLayout"; import { ProjectSelect } from "@app/layouts/ProjectLayout/components/ProjectSelect"; export const Route = createFileRoute( "/_authenticate/_inject-org-details/_org-layout/projects/kms/$projectId/_kms-layout" )({ component: KmsLayout, beforeLoad: async ({ params, context }) => { const project = await context.queryClient.ensureQueryData({ queryKey: projectKeys.getProjectById(params.projectId), queryFn: () => fetchProjectById(params.projectId) }); await context.queryClient.ensureQueryData({ queryKey: roleQueryKeys.getUserProjectPermissions({ projectId: params.projectId }), queryFn: () => fetchUserProjectPermissions({ projectId: params.projectId }) }); return { project, breadcrumbs: [ { type: BreadcrumbTypes.Component, component: ProjectSelect } ] }; } });