import { storageManager } from "@/libs/storage-manager"; import { usePaymentStore } from "@/store/payment-store/use-payment-store"; import type { IHotelPaymentPayload } from "../types/hotel-payment.types"; export const usePayment = () => { const { setModuleData, paymentState } = usePaymentStore(); const setBookingData = ( payload: Pick< IHotelPaymentPayload, | "cartId" | "searchId" | "transactionId" | "preSaleAgreementText" | "saleAgreementText" > & Partial>, ) => { storageManager.set("core-payment", { moduleName: "Hotel", payload: { ...payload, paymentStatus: "payment" }, }); setModuleData({ moduleName: "Hotel", payload: { ...payload, paymentStatus: "payment" }, }); }; const setPaymentState = (paymentStatus: string) => { storageManager.set("core-payment", { moduleName: "Hotel", payload: { ...paymentState, paymentStatus }, }); setModuleData({ moduleName: "Hotel", payload: { ...paymentState, paymentStatus }, }); }; return { setPaymentState, setBookingData, isReady: paymentState.status === "done", paymentState: paymentState.data as { moduleName: "Hotel"; payload: IHotelPaymentPayload; }, }; };