import Link from "next/link"; import { redirect } from "next/navigation"; import { ShellPage } from "@/components/page-templates"; import { SectionCard } from "@/components/ui"; import { getSession } from "@/lib/auth"; import { prisma } from "@/lib/prisma"; export default async function CampaignDetailPage({ params }: { params: Promise<{ campaignId: string }> }) { const { campaignId } = await params; const session = await getSession(); if (!session) { redirect("/login"); } const campaign = await prisma.broadcastCampaign.findFirst({ where: { id: campaignId, tenantId: session.tenantId }, include: { channel: true, template: true, segment: true, recipients: { include: { contact: true } } } }); if (!campaign) { redirect("/campaigns?error=campaign_not_found"); } return (

Nama: {campaign.name}

Template: {campaign.template.name}

Channel: {campaign.channel.channelName}

Audience: {campaign.audienceType}

Segment: {campaign.segment ? campaign.segment.name : "-"}

Total recipients: {campaign.totalRecipients}

Sent: {campaign.totalSent}

Delivered: {campaign.totalDelivered}

Failed: {campaign.totalFailed}

Read: {campaign.totalRead}

Lihat recipients
); }