import {ReactNode} from "react";
import {redirect} from "next/navigation";
import {auth} from "@/auth";
import {AppShell} from "@/components/layout/app-shell";
import {SuperAdminSidebar} from "@/components/dashboard/super-admin-sidebar";

type SuperAdminLayoutProps = {
  children: ReactNode;
  params?: Promise<{locale: string}>;
};

export default async function SuperAdminLayout({children, params}: SuperAdminLayoutProps) {
  const resolvedParams = params ? await params : null;
  const locale = resolvedParams?.locale ?? "en";
  const session = await auth();

  if (!session?.user?.id) {
    redirect(`/${locale}/auth/sign-in`);
  }

  // Check super admin role
  const isPlatformAdmin = session.user.platformRole === "SUPER_ADMIN";
  if (!isPlatformAdmin) {
    redirect(`/${locale}/unauthorized`);
  }

  const sidebar = <SuperAdminSidebar />;

  return (
    <AppShell title="Platform Admin" sidebar={sidebar}>
      {children}
    </AppShell>
  );
}
