import type { Metadata } from "next";
import { redirect } from "next/navigation";
import { AdminSidebar } from "@/components/layout/admin-sidebar";
import { requireSession } from "@/server/auth/current-user";

export const metadata: Metadata = {
  title: "Panel",
  robots: { index: false, follow: false },
};

/** Todo el panel exige sesión válida, validada contra PostgreSQL en cada petición. */
export default async function AdminPanelLayout({ children }: { children: React.ReactNode }) {
  const session = await requireSession();
  if (session.user.mustChangePassword) redirect("/admin/cambiar-clave");

  return (
    <div className="flex min-h-dvh flex-col bg-chesco-soft-gray md:flex-row">
      <AdminSidebar
        userName={session.user.name}
        roleName={session.user.roleName}
        permissions={session.permissions}
      />
      <main id="contenido" className="flex-1 px-4 py-6 md:px-10 md:py-10">
        {children}
      </main>
    </div>
  );
}
