refactor: url management in hotel reservation flow

This commit is contained in:
Christel Westerberg
2025-01-13 14:26:38 +01:00
parent 23ff0970e9
commit b2935114e3
48 changed files with 407 additions and 418 deletions

View File

@@ -4,21 +4,20 @@ import { getHotelData, getHotelPage } from "@/lib/trpc/memoizedRequests"
import BookingWidget, { preload } from "@/components/BookingWidget"
import { getLang } from "@/i18n/serverContext"
import type { BookingWidgetSearchData } from "@/types/components/bookingWidget"
import type { ContentTypeParams, PageArgs } from "@/types/params"
import { PageContentTypeEnum } from "@/types/requests/contentType"
export default async function BookingWidgetPage({
params,
searchParams,
}: PageArgs<ContentTypeParams, URLSearchParams>) {
}: PageArgs<ContentTypeParams, BookingWidgetSearchData>) {
if (!env.ENABLE_BOOKING_WIDGET) {
return null
}
preload()
const urlParams = new URLSearchParams()
if (params.contentType === PageContentTypeEnum.hotelPage) {
const hotelPageData = await getHotelPage()
@@ -26,10 +25,14 @@ export default async function BookingWidgetPage({
hotelId: hotelPageData?.hotel_page_id || "",
language: getLang(),
})
urlParams.set("hotel", hotelData?.data?.id || "")
urlParams.set("city", hotelData?.data?.attributes?.cityName || "")
return <BookingWidget searchParams={urlParams} />
const hotelPageParams = {
hotel: hotelData?.data?.id || "",
city: hotelData?.data?.attributes?.cityName || "",
}
return <BookingWidget bookingWidgetSearchParams={hotelPageParams} />
}
return <BookingWidget searchParams={searchParams} />
return <BookingWidget bookingWidgetSearchParams={searchParams} />
}

View File

@@ -2,16 +2,17 @@ import { env } from "@/env/server"
import BookingWidget, { preload } from "@/components/BookingWidget"
import type { PageArgs } from "@/types/params"
import type { BookingWidgetSearchData } from "@/types/components/bookingWidget"
import type { LangParams, PageArgs } from "@/types/params"
export default async function BookingWidgetPage({
searchParams,
}: PageArgs<{}, URLSearchParams>) {
}: PageArgs<LangParams, BookingWidgetSearchData>) {
if (!env.ENABLE_BOOKING_WIDGET_HOTELRESERVATION_PATH) {
return null
}
preload()
return <BookingWidget searchParams={searchParams} />
return <BookingWidget bookingWidgetSearchParams={searchParams} />
}

View File

@@ -3,11 +3,12 @@ import { serverClient } from "@/lib/trpc/server"
import BookingWidget, { preload } from "@/components/BookingWidget"
import type { BookingWidgetSearchData } from "@/types/components/bookingWidget"
import type { PageArgs } from "@/types/params"
export default async function BookingWidgetPage({
searchParams,
}: PageArgs<{}, URLSearchParams>) {
}: PageArgs<{}, BookingWidgetSearchData>) {
if (!env.ENABLE_BOOKING_WIDGET) {
return null
}
@@ -22,5 +23,5 @@ export default async function BookingWidgetPage({
return null
}
return <BookingWidget searchParams={searchParams} />
return <BookingWidget bookingWidgetSearchParams={searchParams} />
}