import type { Metadata } from "next";
import { db } from "@/lib/db";
import AdminVisaClient from "./AdminVisaClient";

export const metadata: Metadata = { title: "Admin: Visa" };

export default async function AdminVisaPage() {
  const [types, slides, enquiries] = await Promise.all([
    db.visaType.findMany({ orderBy: [{ sortOrder: "asc" }, { createdAt: "desc" }] }),
    db.visaSlide.findMany({ orderBy: [{ sortOrder: "asc" }, { createdAt: "desc" }] }),
    db.visaEnquiry.findMany({
      include: {
        user: { select: { id: true, name: true, email: true } },
        visaTypeRef: { select: { id: true, name: true, slug: true } },
      },
      orderBy: { createdAt: "desc" },
      take: 500,
    }),
  ]);

  return (
    <AdminVisaClient
      types={types}
      slides={slides}
      enquiries={enquiries.map((e) => ({ ...e, createdAt: e.createdAt.toISOString() }))}
    />
  );
}
