This repository has been archived on 2026-09-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
confessions-of-grace/app/admin/(dashboard)/layout.tsx
T
2026-02-20 09:12:47 -06:00

37 lines
800 B
TypeScript

import { createClient } from "@/utils/supabase/server";
import { redirect } from "next/navigation";
import AdminSidebar from "./components/AdminSidebar";
export default async function AdminDashboardLayout({
children,
}: {
children: React.ReactNode;
}) {
const supabase = await createClient();
const {
data: { user },
} = await supabase.auth.getUser();
if (!user) {
redirect("/admin/login");
}
const { data: adminUser } = await supabase
.from("admin_users")
.select("role")
.eq("user_id", user.id)
.single();
if (!adminUser) {
redirect("/admin/login");
}
return (
<div className="flex min-h-screen">
<AdminSidebar role={adminUser.role} />
<main className="flex-1 bg-gray-50 p-8 overflow-auto">{children}</main>
</div>
);
}