import type { ReactNode } from "react";
import { redirect } from "next/navigation";
import { AdminShell } from "@/components/admin";
import { publicConfiguration } from "@/config/public";
import { requireAdmin } from "@/server/admin/authorization";
export default async function ProtectedAdministrationLayout({
children,
}: Readonly<{ children: ReactNode }>) {
const admin = await requireAdmin("admin.access");
if (!admin.ok) {
if (admin.error.code === "UNAUTHENTICATED" || admin.error.code === "FORBIDDEN") {
redirect("/admin/login");
}
return (
Administration unavailable
{admin.error.message}
);
}
return (
{children}
);
}