"use client";
import orderService from "@/lib/services/order";
import shoppingCartService from "@/lib/services/shoppingcart";
import {
  CartInformationModal,
  CartResponse,
} from "@/lib/types/models/shopping-cart";
import { getStoreData } from "@/lib/utils/storagedata";
import { useCartStore } from "@/zustand/cartStore";

export default function Page({ data }: { data: CartInformationModal }) {
  const { setCartItems, setShopLaterCartItems } = useCartStore();

  const handelMoveToCartItem = async () => {
    const token = (await getStoreData<string>("token")) || "";
    const response = await orderService.updateOrder({
      documentId: data._id,
      checkStatus: 'incart',
    });
    if (response.success) {
      const cartResponse: CartResponse = token
        ? await shoppingCartService.getShoppingCart(token, 'incart')
        : { success: false, data: [] };
      const cartdata = cartResponse.success ? cartResponse?.data : [];
      setCartItems(cartdata);

      const shoppingCartLaterResponse: CartResponse =
        token
          ? await shoppingCartService.getShoppingCart(token, 'shoplater')
          : { success: false, data: [] };
      const shoppingCartLaterData = shoppingCartLaterResponse.success
        ? shoppingCartLaterResponse?.data
        : [];
      setShopLaterCartItems(shoppingCartLaterData);
    }
  };

  return (
    <button
      className="text-gray-600 bg-transparent border border-gray-300 px-2 md:px-3 py-1 rounded text-xs md:text-sm hover:bg-gray-50 transition-colors"
      title="move to cart"
      onClick={() => handelMoveToCartItem()}
    >
      Move to Cart
    </button>
  );
}
