import { CampaignForm } from "@/components/campaigns/campaign-form";
import { listCampaignFormOptions } from "@/server/services/campaign.service";
import { toClientJson } from "@/lib/serialize";

export default async function NewCampaignPage({
  searchParams,
}: {
  searchParams: Promise<{ templateId?: string }>;
}) {
  const { templateId } = await searchParams;
  const options = await listCampaignFormOptions();
  return (
    <CampaignForm
      mode="create"
      initial={templateId ? { templateId } : undefined}
      segments={toClientJson(options.segments)}
      templates={toClientJson(options.templates)}
      mailboxes={toClientJson(options.mailboxes)}
      defaultMailboxId={options.defaultMailboxId}
    />
  );
}

