import BreadCrumbLink from "@/layouts/shared/page.breadcrumbLink";
import CreateBookingForm from "./_form";
import type { Route } from "../../../layouts/+types/bookings.layout";
import { createExternalRCIBooking } from "@/lib/features/bookings/action";

export async function action({ request }: Route.ActionArgs) {
  const formData = await request.formData();
  const raw = formData.get("payload");

  if (!raw || typeof raw !== "string") {
    return { success: false, message: "Missing payload" };
  }

  const payload = JSON.parse(raw);
  const headers = {
    Cookie: request.headers.get("Cookie") ?? "",
  };

  const res = await createExternalRCIBooking(payload, headers);
  return res;
}

export const handle = {
  breadcrumb: () => (
    <BreadCrumbLink
      links={[
        {
          label: "Bookings",
          to: "/admin/bookings?tab=external",
        },
        {
          label: "Create",
        },
      ]}
    />
  ),
};

const CreateBookingPage: React.FC<Route.ComponentProps> = () => {
  return <CreateBookingForm />;
};

export default CreateBookingPage;
