import { prisma } from "@/lib/prisma";
import AdminTombolaClient from "@/components/AdminTombolaClient";

export default async function AdminTombolaPage() {
  const tickets = await prisma.ticket.findMany({
    where: {
      order: { status: "PAID" },
    },
    include: {
      order: {
        include: { user: true },
      },
    },
    orderBy: { createdAt: "asc" },
  });

  const ticketData = tickets.map((t) => ({
    ticketNum: t.ticketNum,
    name: t.order.user?.name || "Sin nombre",
  }));

  const participantCount = new Set(
    tickets.map((t) => t.order.user?.email).filter((e): e is string => Boolean(e))
  ).size;

  return <AdminTombolaClient tickets={ticketData} participantCount={participantCount} />;
}
