import { notFound } from "next/navigation";

import { AssetFieldDefinitionForm } from "../_components/asset-field-definition-form/asset-field-definition-form";
import { fetchBackendAssetFieldDefinitionDetail } from "../_lib/asset-field-definition-server-api";

type PageProps = {
  params: Promise<{ id: string }>;
};

export default async function AssetFieldDefinitionUpdatePage({
  params,
}: PageProps) {
  const { id } = await params;

  let detail: Awaited<ReturnType<typeof fetchBackendAssetFieldDefinitionDetail>>;
  try {
    detail = await fetchBackendAssetFieldDefinitionDetail(decodeURIComponent(id));
  } catch {
    notFound();
  }

  return (
    <AssetFieldDefinitionForm
      mode="update"
      initialRow={detail.row}
      fTypeOptions={detail.fTypeOptions}
    />
  );
}
