import { notFound } from "next/navigation";

import { CommodityTicketForm } from "../_components/commodity-ticket-form/commodity-ticket-form";
import {
  fetchBackendCommodityTicketById,
  fetchBackendCommodityTicketParentOptions,
} from "../_lib/commodity-ticket-server-api";

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

export default async function CommodityTicketUpdatePage({ params }: PageProps) {
  const { id } = await params;
  const recordId = Number(id);

  if (!Number.isFinite(recordId)) {
    notFound();
  }

  const [{ commodityTicket: record }, commodityNameOptions] = await Promise.all([
    fetchBackendCommodityTicketById(recordId),
    fetchBackendCommodityTicketParentOptions(),
  ]);

  if (!record) {
    notFound();
  }

  return (
    <CommodityTicketForm
      mode="update"
      initial={record}
      commodityNameOptions={commodityNameOptions}
    />
  );
}
