import { notFound } from "next/navigation";
import { requireAccount } from "@/lib/auth";
import { prisma } from "@/lib/db";
import { BroadcastDetail } from "@/components/broadcasts/broadcast-detail";

export const dynamic = "force-dynamic";

export default async function BroadcastDetailPage({
  params,
}: {
  params: Promise<{ id: string }>;
}) {
  const membership = await requireAccount();
  const { id } = await params;

  const broadcast = await prisma.broadcast.findFirst({
      where: { id, accountId: membership.account.id },
      include: {
        recipients: { 
          take: 100,
          include: { contact: { select: { id: true, name: true, phone: true } } }, 
          orderBy: { createdAt: "desc" } 
        },
        _count: { select: { recipients: true } }
      },
    });

  if (!broadcast) notFound();
  return (
    <BroadcastDetail
      broadcast={broadcast}
      recipientCount={broadcast._count.recipients}
    />
  );
}