import { redirect, notFound } from "next/navigation";
import { getAdminFromSession } from "@/lib/auth";
import { isSeedInstalled } from "@/lib/seed";
import { AdminShell } from "@/app/adminx/AdminShell";

export const dynamic = "force-dynamic";

export const metadata = {
  title: "Admin Panel",
  robots: "noindex, nofollow",
};

const VALID = [
  "tools",
  "articles",
  "pages",
  "categories",
  "providers",
  "media",
  "monetization",
  "messages",
  "settings",
  "status",
  "activity",
];

export default async function AdminSectionPage({
  params,
}: {
  params: Promise<{ section: string }>;
}) {
  const { section } = await params;
  if (!VALID.includes(section)) notFound();

  if (!(await isSeedInstalled())) redirect("/install");
  const admin = await getAdminFromSession();
  if (!admin) redirect("/adminx");

  return (
    <AdminShell
      section={section}
      admin={{
        id: admin.id,
        username: admin.username,
        email: admin.email,
        mustChangePassword: admin.mustChangePassword,
      }}
    />
  );
}
