Merged in fix/sw-3551-rsc-bookingflowconfig (pull request #2988)

fix(SW-3551): Fix issue with BookingConfigProvider in RSC

* wip move config to pages

* Move config providing to pages
This commit is contained in:
Anton Gunnarsson
2025-10-22 07:04:21 +00:00
parent 2a28681259
commit c435cdba68
44 changed files with 398 additions and 237 deletions

View File

@@ -5,7 +5,7 @@ import { safeTry } from "@scandic-hotels/common/utils/safeTry"
import { TrackingSDK } from "@scandic-hotels/tracking/TrackingSDK"
import { env } from "../../env/server"
import { getBookingFlowConfig } from "../bookingFlowConfig/bookingFlowConfig"
import { BookingFlowConfig } from "../bookingFlowConfig/bookingFlowConfig"
import { MapContainer } from "../components/MapContainer"
import {
getFiltersFromHotels,
@@ -27,9 +27,11 @@ import type { NextSearchParams } from "../types"
export async function AlternativeHotelsMapPage({
lang,
searchParams,
config,
}: {
lang: Lang
searchParams: NextSearchParams
config: BookingFlowConfig
}) {
const googleMapId = env.GOOGLE_DYNAMIC_MAP_ID
const googleMapsApiKey = env.GOOGLE_STATIC_MAP_KEY
@@ -103,29 +105,31 @@ export async function AlternativeHotelsMapPage({
isBookingCodeRateAvailable,
isRedemption: redemption,
isRedemptionAvailable: isRedemptionAvailability,
config: getBookingFlowConfig(),
config,
})
const filterList = getFiltersFromHotels(hotels, isBookingCodeRateAvailable)
return (
<MapContainer>
<Suspense key={booking.hotelId} fallback={<SelectHotelMapSkeleton />}>
<SelectHotelMap
apiKey={googleMapsApiKey}
mapId={googleMapId}
hotels={hotels}
cityCoordinates={cityCoordinates}
bookingCode={booking.bookingCode}
isBookingCodeRateAvailable={isBookingCodeRateAvailable}
isAlternativeHotels={true}
filterList={filterList}
/>
<TrackingSDK
hotelInfo={hotelsTrackingData}
pageData={pageTrackingData}
/>
</Suspense>
</MapContainer>
<BookingFlowConfig config={config}>
<MapContainer>
<Suspense key={booking.hotelId} fallback={<SelectHotelMapSkeleton />}>
<SelectHotelMap
apiKey={googleMapsApiKey}
mapId={googleMapId}
hotels={hotels}
cityCoordinates={cityCoordinates}
bookingCode={booking.bookingCode}
isBookingCodeRateAvailable={isBookingCodeRateAvailable}
isAlternativeHotels={true}
filterList={filterList}
/>
<TrackingSDK
hotelInfo={hotelsTrackingData}
pageData={pageTrackingData}
/>
</Suspense>
</MapContainer>
</BookingFlowConfig>
)
}