Feat/SW-1737 design mystay multiroom * feat(SW-1737) Fixed member view of guest details * feat(SW-1737) fix merge issues * feat(SW-1737) Fixed price details * feat(SW-1737) removed unused imports * feat(SW-1737) removed true as statement * feat(SW-1737) updated store handling * feat(SW-1737) fixed bug showing double numbers * feat(SW-1737) small design fixed * feat(SW-1737) fixed rebase errors * feat(SW-1737) fixed create booking error with dates * feat(SW-1737) fixed view multiroom as singleroom * feat(SW-1737) fixes for multiroom * feat(SW-1737) fixed bookingsummary * feat(SW-1737) dont hide modify dates * feat(SW-1737) updated breakfast to handle number * feat(SW-1737) Added red color if member rate * feat(SW-1737) fix PR comments * feat(SW-1737) updated member tiers svg * feat(SW-1737) updated how to handle paymentMethodDescription * feat(SW-1737) fixes after testing mystay * feat(SW-1737) updated Room type to just use whats used * feat(SW-1737) fixed access * feat(SW-1737) refactor my stay after PR comments * feat(SW-1737) fix roomNumber translation * feat(SW-1737) removed log Approved-by: Arvid Norlin
68 lines
1.4 KiB
TypeScript
68 lines
1.4 KiB
TypeScript
import { create } from "zustand"
|
|
|
|
import { trackOpenSidePeekEvent } from "@/utils/tracking"
|
|
|
|
import type { SidePeekEnum } from "@/types/components/hotelReservation/sidePeek"
|
|
import type { User } from "@/types/user"
|
|
|
|
interface SidePeekState {
|
|
activeSidePeek: SidePeekEnum | null
|
|
hotelId: string | null
|
|
roomTypeCode: string | null
|
|
showCTA: boolean
|
|
user: User | null
|
|
confirmationNumber: string
|
|
openSidePeek: ({
|
|
key,
|
|
hotelId,
|
|
roomTypeCode,
|
|
showCTA,
|
|
user,
|
|
confirmationNumber,
|
|
}: {
|
|
key: SidePeekEnum | null
|
|
hotelId: string
|
|
roomTypeCode?: string
|
|
showCTA?: boolean
|
|
user?: User
|
|
confirmationNumber?: string
|
|
}) => void
|
|
closeSidePeek: () => void
|
|
}
|
|
|
|
const useSidePeekStore = create<SidePeekState>((set) => ({
|
|
activeSidePeek: null,
|
|
hotelId: null,
|
|
roomTypeCode: null,
|
|
showCTA: true,
|
|
user: null,
|
|
confirmationNumber: "",
|
|
openSidePeek: ({
|
|
key,
|
|
hotelId,
|
|
roomTypeCode,
|
|
showCTA,
|
|
user,
|
|
confirmationNumber,
|
|
}) => {
|
|
trackOpenSidePeekEvent(key, hotelId, window.location.pathname, roomTypeCode)
|
|
set({
|
|
activeSidePeek: key,
|
|
hotelId,
|
|
roomTypeCode,
|
|
showCTA,
|
|
user,
|
|
confirmationNumber,
|
|
})
|
|
},
|
|
closeSidePeek: () =>
|
|
set({
|
|
activeSidePeek: null,
|
|
hotelId: null,
|
|
roomTypeCode: null,
|
|
confirmationNumber: "",
|
|
}),
|
|
}))
|
|
|
|
export default useSidePeekStore
|