import { getServerSession } from "next-auth";
import { authOptions } from "@/lib/auth";
import { redirect } from "next/navigation";
import AdminSidebar from "@/components/admin/AdminSidebar";
import AdminHeader from "@/components/admin/AdminHeader";
import AdminProviders from "@/components/admin/AdminProviders";

export default async function AdminLayout({ children }: { children: React.ReactNode }) {
  const session = await getServerSession(authOptions);

  if (!session || session.user?.role !== "ADMIN") {
    redirect("/auth/login");
  }

  return (
    <AdminProviders>
      <div className="min-h-screen bg-gray-50 flex">
        <AdminSidebar />
        <div className="flex-1 flex flex-col min-w-0 overflow-hidden">
          <AdminHeader />
          <main className="flex-1 overflow-auto">
            {children}
          </main>
          <footer className="bg-white border-t border-gray-200 px-6 py-3 shrink-0">
            <p className="text-xs text-gray-400 text-center">
              © {new Date().getFullYear()} Americas.Pet — Admin Panel
            </p>
          </footer>
        </div>
      </div>
    </AdminProviders>
  );
}
