import { notFound } from "next/navigation";

import { OrderCreateForm } from "../_components/order-form/order-create-form";
import { fetchBackendOrderById } from "../_lib/orders-server-api";

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

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

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

  const { order, errorMessage } = await fetchBackendOrderById(orderId);

  if (!order) {
    notFound();
  }

  return <OrderCreateForm mode="update" initial={order} initialErrorMessage={errorMessage} />;
}
