Files
web/stores/sidepeek.ts
Linus Flood 69b69af03c Merged in feat/enter-details-tracking (pull request #1185)
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
2025-01-17 07:42:44 +00:00

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