import { notFound } from "next/navigation";
import { SegmentForm } from "@/components/segments/segment-form";
import { toClientJson } from "@/lib/serialize";
import { getSegment } from "@/server/services/segment.service";

export default async function EditSegmentPage({
  params,
}: {
  params: Promise<{ id: string }>;
}) {
  const { id } = await params;
  const segment = await getSegment(id);
  if (!segment) notFound();

  return (
    <SegmentForm
      mode="edit"
      initial={toClientJson({
        id: String(segment._id),
        name: segment.name,
        description: segment.description,
        targetType: segment.targetType,
        targetChannel: segment.targetChannel ?? "any",
        type: segment.type,
        status: segment.status,
        filters: segment.filters ?? {},
      })}
    />
  );
}
