import { redirect } from "next/navigation"; import { ShellPage } from "@/components/page-templates"; import { Button, SectionCard } from "@/components/ui"; import { getSession } from "@/lib/auth"; import { createCampaign } from "@/lib/admin-crud"; import { CampaignAudienceType } from "@prisma/client"; import { prisma } from "@/lib/prisma"; export default async function NewCampaignPage({ searchParams }: { searchParams?: Promise<{ error?: string }>; }) { const session = await getSession(); if (!session) { redirect("/login"); } const channels = await prisma.channel.findMany({ where: { tenantId: session.tenantId }, orderBy: { channelName: "asc" } }); const templates = await prisma.messageTemplate.findMany({ where: { tenantId: session.tenantId }, orderBy: { createdAt: "desc" } }); const segments = await prisma.contactSegment.findMany({ where: { tenantId: session.tenantId }, orderBy: { name: "asc" } }); const params = await (searchParams ?? Promise.resolve({ error: undefined })); const err = params.error; const errorMessage = err === "missing_fields" ? "Isi semua kolom wajib." : err === "invalid_channel" ? "Channel tidak valid." : err === "invalid_template" ? "Template tidak valid." : null; return (
{errorMessage ?

{errorMessage}

: null}
); }