significant refactor

This commit is contained in:
2025-08-30 01:42:23 -05:00
parent 7136f646a3
commit 052f53444e
106 changed files with 1994 additions and 1701 deletions

View File

@@ -1,27 +1,31 @@
import { createFileRoute, redirect } from '@tanstack/react-router'
import { tournamentQueries } from '@/features/tournaments/queries'
import ManageTournament from '@/features/tournaments/components/manage-tournament'
import { createFileRoute, redirect } from "@tanstack/react-router";
import { tournamentQueries } from "@/features/tournaments/queries";
import ManageTournament from "@/features/tournaments/components/manage-tournament";
import { ensureServerQueryData } from "@/lib/tanstack-query/utils/ensure";
export const Route = createFileRoute('/_authed/admin/tournaments/$id')({
export const Route = createFileRoute("/_authed/admin/tournaments/$id")({
beforeLoad: async ({ context, params }) => {
const { queryClient } = context;
const tournament = await queryClient.ensureQueryData(tournamentQueries.details(params.id))
if (!tournament) throw redirect({ to: '/admin/tournaments' });
const tournament = await ensureServerQueryData(
queryClient,
tournamentQueries.details(params.id)
);
if (!tournament) throw redirect({ to: "/admin/tournaments" });
return {
tournament
}
tournament,
};
},
loader: ({ context }) => ({
header: {
withBackButton: true,
title: `Manage ${context.tournament.name}`,
},
withPadding: false
withPadding: false,
}),
component: RouteComponent,
})
});
function RouteComponent() {
const { id } = Route.useParams()
return <ManageTournament tournamentId={id} />
}
const { id } = Route.useParams();
return <ManageTournament tournamentId={id} />;
}

View File

@@ -1,12 +1,12 @@
import Page from "@/components/page";
import ManageTournaments from "@/features/admin/components/manage-tournaments";
import { tournamentQueries } from "@/features/tournaments/queries";
import { prefetchServerQuery } from "@/lib/tanstack-query/utils/prefetch";
import { createFileRoute } from "@tanstack/react-router";
export const Route = createFileRoute("/_authed/admin/tournaments/")({
beforeLoad: async ({ context }) => {
const { queryClient } = context;
await queryClient.ensureQueryData(tournamentQueries.list());
await prefetchServerQuery(queryClient, tournamentQueries.list());
},
loader: () => ({
header: {
@@ -14,11 +14,11 @@ export const Route = createFileRoute("/_authed/admin/tournaments/")({
title: "Manage Tournaments",
},
refresh: tournamentQueries.list().queryKey,
withPadding: false
withPadding: false,
}),
component: RouteComponent,
});
function RouteComponent() {
return <ManageTournaments />
return <ManageTournaments />;
}