Feat/enter details tracking * feat: fixed bug in enter details tracking * Sidepeek events, lowestroomPrice and analyticsRateCode * Cleanup and fixed bug * Fixed analyticsratecode * Merge master * merge master * Removed console logs * Added ancillaries tracking to enter details * Added ancillary on confirmation page * Removed console log * Merge branch 'master' into feat/enter-details-tracking * Refactor searchparams * Hard code values for breakfast ancillary Approved-by: Joakim Jäderberg
40 lines
1016 B
TypeScript
40 lines
1016 B
TypeScript
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<SidePeekState>((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
|