fix(SW-3551): Fix issue with BookingConfigProvider in RSC * wip move config to pages * Move config providing to pages
35 lines
909 B
TypeScript
35 lines
909 B
TypeScript
import { BookingFlowConfig } from "../../../bookingFlowConfig/bookingFlowConfig"
|
|
import {
|
|
getPageSettingsBookingCode,
|
|
isBookingWidgetHidden,
|
|
} from "../../../trpc/memoizedRequests"
|
|
import { FloatingBookingWidgetClient } from "./FloatingBookingWidgetClient"
|
|
|
|
import type { BookingWidgetProps } from ".."
|
|
|
|
export async function FloatingBookingWidget({
|
|
booking,
|
|
lang,
|
|
config,
|
|
}: Omit<BookingWidgetProps, "type">) {
|
|
const isHidden = await isBookingWidgetHidden(lang)
|
|
|
|
if (isHidden) {
|
|
return null
|
|
}
|
|
|
|
let pageSettingsBookingCodePromise: Promise<string> | null = null
|
|
if (!booking.bookingCode) {
|
|
pageSettingsBookingCodePromise = getPageSettingsBookingCode(lang)
|
|
}
|
|
|
|
return (
|
|
<BookingFlowConfig config={config}>
|
|
<FloatingBookingWidgetClient
|
|
data={booking}
|
|
pageSettingsBookingCodePromise={pageSettingsBookingCodePromise}
|
|
/>
|
|
</BookingFlowConfig>
|
|
)
|
|
}
|