import { AccumulatorCreateForm } from "../_components/accumulator-form";
import { fetchAccumulatorCreateForm } from "../_lib/accumulator-master-server-api";

type PageProps = {
  searchParams: Promise<{ id?: string; ISIN?: string }>;
};

export default async function AccumulatorMasterCreatePage({ searchParams }: PageProps) {
  const { id, ISIN } = await searchParams;
  const recordId = id?.trim() || undefined;
  const prefillIsin = !recordId ? ISIN?.trim() || undefined : undefined;
  const formKey = recordId ?? prefillIsin ?? "new";

  const { recordId: resolvedRecordId, prefillIsin: resolvedPrefill, initialRecord, loadError } =
    await fetchAccumulatorCreateForm({ id: recordId, ISIN: prefillIsin });

  return (
    <AccumulatorCreateForm
      key={formKey}
      recordId={resolvedRecordId}
      prefillIsin={resolvedPrefill}
      initialRecord={initialRecord}
      loadError={loadError}
    />
  );
}
