Files
web/apps/scandic-web/components/HotelReservation/EnterDetails/Tracking/index.tsx
Tobias Johansson 02b26e7965 Merged in fix/SW-2668-tracking-room-details-missing (pull request #2015)
fix(SW-2668): added search term and room details to tracking

* fix(SW-2668): added search term and room details to tracking

* fix: change to optional type


Approved-by: Christian Andolf
Approved-by: Matilda Landström
2025-05-08 14:13:51 +00:00

57 lines
1.4 KiB
TypeScript

"use client"
import { useEnterDetailsStore } from "@/stores/enter-details"
import TrackingSDK from "@/components/TrackingSDK"
import { useSearchHistory } from "@/hooks/useSearchHistory"
import { getTracking } from "./tracking"
import type { SelectRateSearchParams } from "@/types/components/hotelReservation/selectRate/selectRate"
import type { Hotel } from "@/types/hotel"
import type { Room } from "@/types/providers/details/room"
import type { Lang } from "@/constants/languages"
import type { SelectHotelParams } from "@/utils/url"
interface TrackingWrapperProps {
booking: SelectHotelParams<SelectRateSearchParams>
hotel: Hotel
rooms: Room[]
isMember: boolean
lang: Lang
}
export default function EnterDetailsTrackingWrapper({
booking,
hotel,
rooms,
isMember,
lang,
}: TrackingWrapperProps) {
const { storedRooms, breakfastPackages } = useEnterDetailsStore((state) => ({
storedRooms: state.rooms,
breakfastPackages: state.breakfastPackages,
}))
const searchHistory = useSearchHistory()
const searchTerm = searchHistory.searchHistory[0]?.name
const { hotelsTrackingData, pageTrackingData, ancillaries } = getTracking(
booking,
hotel,
rooms,
isMember,
lang,
storedRooms,
breakfastPackages,
searchTerm
)
return (
<TrackingSDK
hotelInfo={hotelsTrackingData}
pageData={pageTrackingData}
ancillaries={ancillaries}
/>
)
}