import { z } from 'zod';
import { projectEstimateQueryOptions } from '@services/estimates/estimates.query';
import { createFileRoute } from '@tanstack/react-router';
import { ProjectEstimate } from '@views/Authorized/ProjectEstimate/ProjectEstimate';
const projectEstimateSearchSchema = z
.object({
module: z.union([z.number(), z.string()]).optional(),
role: z.union([z.number(), z.string()]).optional(),
task: z.union([z.number(), z.string()]).optional(),
})
.catch({});
export const Route = createFileRoute(
'/_authorized/app/_layout/projects/$projectId/',
)({
loader: async ({
context: { queryClient, transformEstimateData },
params: { projectId },
}) => {
await queryClient.ensureQueryData(
projectEstimateQueryOptions(+projectId, transformEstimateData),
);
},
validateSearch: projectEstimateSearchSchema,
component: ProjectEstimate,
});
import { z } from 'zod';
import { projectEstimateQueryOptions } from '@services/estimates/estimates.query';
import { createFileRoute } from '@tanstack/react-router';
import { ProjectEstimate } from '@views/Authorized/ProjectEstimate/ProjectEstimate';
const projectEstimateSearchSchema = z
.object({
module: z.union([z.number(), z.string()]).optional(),
role: z.union([z.number(), z.string()]).optional(),
task: z.union([z.number(), z.string()]).optional(),
})
.catch({});
export const Route = createFileRoute(
'/_authorized/app/_layout/projects/$projectId/',
)({
loader: async ({
context: { queryClient, transformEstimateData },
params: { projectId },
}) => {
await queryClient.ensureQueryData(
projectEstimateQueryOptions(+projectId, transformEstimateData),
);
},
validateSearch: projectEstimateSearchSchema,
component: ProjectEstimate,
});