"use client";

import { useRouter } from "next/navigation";
import type { EventCartItemInput } from "@/app/actions/event-personalization";
import { useEventModal } from "./event-modal-context";
import { EventPersonalizationModal } from "./event-personalization-modal";
import { addEventProductsToCartAction } from "@/app/actions/event-personalization";

export function EventModalPortal() {
  const router = useRouter();
  const { isOpen, closeModal } = useEventModal();

  const handleAddToCart = async (input: { items: EventCartItemInput[] }) => {
    try {
      await addEventProductsToCartAction(input);
      router.refresh();
    } catch (error) {
      console.error("Error adding to cart:", error);
      throw error;
    }
  };

  return (
    <EventPersonalizationModal
      isOpen={isOpen}
      onClose={closeModal}
      onAddToCart={handleAddToCart}
    />
  );
}
