Files
flxn-app/src/app/routes/_authed/teams.$teamId.tsx
2025-09-16 09:24:21 -05:00

31 lines
1.0 KiB
TypeScript

import TeamProfile from "@/features/teams/components/team-profile";
import { teamKeys, teamQueries } from "@/features/teams/queries";
import { ensureServerQueryData } from "@/lib/tanstack-query/utils/ensure";
import { prefetchServerQuery } from "@/lib/tanstack-query/utils/prefetch";
import { redirect, createFileRoute } from "@tanstack/react-router";
import { z } from "zod";
const searchSchema = z.object({
tab: z.string().optional(),
});
export const Route = createFileRoute("/_authed/teams/$teamId")({
validateSearch: searchSchema,
beforeLoad: async ({ params, context }) => {
const { queryClient } = context;
await prefetchServerQuery(queryClient, teamQueries.details(params.teamId));
},
loader: ({ params }) => ({
header: {
collapsed: true,
withBackButton: true,
},
refresh: [teamKeys.details(params.teamId), teamKeys.matches(params.teamId), teamKeys.stats(params.teamId)],
withPadding: false
}),
component: () => {
const { teamId } = Route.useParams();
return <TeamProfile id={teamId} />;
},
});