Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 332x 27x 27x 27x 27x 1x 29x | import { createFileRoute, redirect } from "@tanstack/react-router";
import { AdminScreen } from "~app/features/admin/admin-screen";
import { getTitle } from "~web/utils/i18n";
import { getLoaderTrpcClient } from "~web/utils/trpc";
export const Route = createFileRoute("/_protected/admin")({
component: AdminScreen,
loader: async (ctx) => {
await ctx.context.i18nContext.loadNamespaces("admin");
const trpc = getLoaderTrpcClient(ctx.context);
const user = await ctx.context.queryClient.fetchQuery(
trpc.user.get.queryOptions(),
);
if (user.user.role !== "admin") {
// oxlint-disable-next-line typescript/only-throw-error
throw redirect({ to: "/" });
}
},
head: ({ match }) => ({
meta: [{ title: getTitle(match.context.i18nContext, "admin") }],
}),
});
|