import { storageManager } from "@/libs/storage-manager"; import { useSummaryStore } from "@/store/summary-store/use-summary-store"; import type { IHotelSummaryPayload } from "../types/hotel-summary.types"; export const useHotelSummary = () => { const { setModuleData, summaryState } = useSummaryStore(); function setModuleDataPersist(payload: any) { const storagedPayload = storageManager.get("core-summary")?.payload; const payloadWithStoraged = storagedPayload ?? {}; storageManager.set("core-summary", { moduleName: "Hotel", payload: { ...payloadWithStoraged, ...payload, }, }); setModuleData({ moduleName: "Hotel", payload, }); } function setSearchData( payload: Required< Pick< IHotelSummaryPayload, "searchId" | "searchItemKey" | "passengersKeys" | "isAbroad" > >, ) { setModuleDataPersist(payload); } function setDetailData( payload: Required>, ) { setModuleDataPersist(payload); } function setCartData( payload: Required>, ) { setModuleDataPersist(payload); } return { setSearchData, setDetailData, setCartData, isReady: summaryState.status === "done", data: summaryState.data as { moduleName: "Hotel"; payload: IHotelSummaryPayload; }, }; };