fix(SW-3616): Handle EuroBonus point type everywhere * Add tests to formatPrice * formatPrice * More work replacing config with api points type * More work replacing config with api points type * More fixing with currency * maybe actually fixed it * Fix MyStay * Clean up * Fix comments * Merge branch 'master' into fix/refactor-currency-display * Fix calculateTotalPrice for EB points + SF points + cash Approved-by: Joakim Jäderberg
38 lines
903 B
TypeScript
38 lines
903 B
TypeScript
"use client"
|
|
|
|
import { createContext, useContext } from "react"
|
|
|
|
import type { BookingFlowConfig } from "./bookingFlowConfig"
|
|
|
|
type BookingFlowConfigContextData = BookingFlowConfig
|
|
|
|
const BookingFlowConfigContext = createContext<
|
|
BookingFlowConfigContextData | undefined
|
|
>(undefined)
|
|
|
|
export const useBookingFlowConfig = (): BookingFlowConfigContextData => {
|
|
const context = useContext(BookingFlowConfigContext)
|
|
|
|
if (!context) {
|
|
throw new Error(
|
|
"useBookingFlowConfig must be used within a BookingFlowConfigContextProvider. Did you forget to use BookingFlowConfig in the consuming app?"
|
|
)
|
|
}
|
|
|
|
return context
|
|
}
|
|
|
|
export function BookingFlowConfigContextProvider({
|
|
children,
|
|
config,
|
|
}: {
|
|
children: React.ReactNode
|
|
config: BookingFlowConfig
|
|
}) {
|
|
return (
|
|
<BookingFlowConfigContext.Provider value={config}>
|
|
{children}
|
|
</BookingFlowConfigContext.Provider>
|
|
)
|
|
}
|