import { create } from "zustand" import { trackOpenSidePeekEvent } from "@/utils/tracking" import type { SidePeekEnum } from "@/types/components/hotelReservation/sidePeek" interface SidePeekState { activeSidePeek: SidePeekEnum | null hotelId: string | null roomTypeCode: string | null showCTA: boolean openSidePeek: ({ key, hotelId, roomTypeCode, showCTA, }: { key: SidePeekEnum | null hotelId: string roomTypeCode?: string showCTA?: boolean }) => void closeSidePeek: () => void } const useSidePeekStore = create((set) => ({ activeSidePeek: null, hotelId: null, roomTypeCode: null, showCTA: true, openSidePeek: ({ key, hotelId, roomTypeCode, showCTA }) => { trackOpenSidePeekEvent(key, hotelId, window.location.pathname, roomTypeCode) set({ activeSidePeek: key, hotelId, roomTypeCode, showCTA }) }, closeSidePeek: () => set({ activeSidePeek: null, hotelId: null, roomTypeCode: null }), })) export default useSidePeekStore