diff --git a/frontend/src/routes/_layout/admin.tsx b/frontend/src/routes/_layout/admin.tsx index 256038ad7a..99ae755874 100644 --- a/frontend/src/routes/_layout/admin.tsx +++ b/frontend/src/routes/_layout/admin.tsx @@ -1,5 +1,5 @@ import { useSuspenseQuery } from "@tanstack/react-query" -import { createFileRoute } from "@tanstack/react-router" +import { createFileRoute, redirect } from "@tanstack/react-router" import { Suspense } from "react" import { type UserPublic, UsersService } from "@/client" @@ -18,6 +18,14 @@ function getUsersQueryOptions() { export const Route = createFileRoute("/_layout/admin")({ component: Admin, + beforeLoad: async () => { + const user = await UsersService.readUserMe() + if (!user.is_superuser) { + throw redirect({ + to: "/", + }) + } + }, head: () => ({ meta: [ {