import { storageManager } from "@/libs/storage-manager"; import { useSummaryStore } from "@/store/summary-store/use-summary-store"; import type { ITourSummaryPayload } from "../types/tour-summary.types"; export const useTourSummary = () => { const { setModuleData, summaryState } = useSummaryStore(); function setModuleDataPersist(payload: any) { const storagedPayload = storageManager.get("core-summary")?.payload; const payloadWithStoraged = storagedPayload ?? {}; storageManager.set("core-summary", { moduleName: "Tour", payload: { ...payloadWithStoraged, ...payload, }, }); setModuleData({ moduleName: "Tour", payload, }); } function setSearchData( payload: Required< Pick< ITourSummaryPayload, | "searchId" | "passengersKeys" | "isDomestic" | "option" | "departurePoints" > >, ) { 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 unknown as { moduleName: "Tour"; payload: ITourSummaryPayload; }, }; };