feat(SW-2879): Move BookingWidget to booking-flow package * Fix lockfile * Fix styling * a tiny little booking widget test * Tiny fixes * Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package * Remove unused scripts * lint:fix * Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package * Tiny lint fixes * update test * Update Input in booking-flow * Clean up comments etc * Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package * Setup tracking context for booking-flow * Add missing use client * Fix temp tracking function * Pass booking to booking-widget * Remove comment * Add use client to booking widget tracking provider * Add use client to tracking functions * Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package * Move debug page * Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package * Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package * Merge branch 'master' into feat/sw-2879-booking-widget-to-booking-flow-package Approved-by: Bianca Widstam
27 lines
611 B
TypeScript
27 lines
611 B
TypeScript
"use client"
|
|
|
|
import { createContext, useContext } from "react"
|
|
|
|
export type TrackingFunctions = {
|
|
trackBookingSearchClick: (
|
|
searchTerm: string,
|
|
searchType: "hotel" | "destination"
|
|
) => void
|
|
}
|
|
|
|
export const TrackingContext = createContext<TrackingFunctions | undefined>(
|
|
undefined
|
|
)
|
|
|
|
export const useTrackingContext = (): TrackingFunctions => {
|
|
const context = useContext(TrackingContext)
|
|
|
|
if (!context) {
|
|
throw new Error(
|
|
"useTrackingContext must be used within a BookingFlowTrackingProvider. Did you forget to use the provider in the consuming app?"
|
|
)
|
|
}
|
|
|
|
return context
|
|
}
|