import Link from "next/link";
import { DataTable } from "@/components/admin/DataTable";
import { AdminPageHeader, AdminStatusBadge, AdminTextCell } from "@/components/admin/AdminPresentation";
import { prisma } from "@/lib/prisma";
import { currency } from "@/lib/utils";

export default async function ServicePaymentsPage() {
  const rows = await prisma.servicePayment.findMany({ orderBy: { createdAt: "desc" } });
  return (
    <section>
      <AdminPageHeader title="Service Payments" subtitle="Manual service fee payment requests and provider status." />
      <DataTable headers={["Customer", "Email", "Service", "Amount", "Method", "Status", "Actions"]} rows={rows.map((p) => [
        <AdminTextCell key="customer" value={p.customerName} className="max-w-[180px] font-black" />,
        <AdminTextCell key="email" value={p.customerEmail} className="max-w-[220px] text-[#666]" />,
        <AdminTextCell key="service" value={p.serviceType} className="max-w-[220px]" />,
        currency(String(p.amount)),
        p.paymentMethod,
        <AdminStatusBadge key="status" value={p.paymentStatus} />,
        <Link key="view" className="btn btn-secondary" href={`/admin/service-payments/${p.id}`}>View</Link>
      ])} />
    </section>
  );
}
