Merged in feature/autocomplete-search (pull request #1725)
Feature/autocomplete search * wip autocomplete search * add skeletons to loading * Using aumlauts/accents when searching will still give results remove unused reducer sort autocomplete results * remove testcode * Add tests for autocomplete * cleanup tests * use node@20 * use node 22 * use node22 * merge fix: search button outside of viewport * merge * remove more unused code * fix: error message when empty search field in booking widget * fix: don't display empty white box when search field is empty and no searchHistory is present * merge * fix: set height of shimmer for search skeleton * rename autocomplete trpc -> destinationsAutocomplete * more accute cache key naming * fix: able to control wether bookingwidget is visible on startPage fix: sticky booking widget under alert * remove unused code * fix: skeletons fix: error overlay on search startpage * remove extra .nvmrc * merge Approved-by: Linus Flood
This commit is contained in:
@@ -16,30 +16,49 @@ export default async function BookingWidgetPage({
|
||||
return null
|
||||
}
|
||||
|
||||
if (params.contentType === PageContentTypeEnum.startPage) {
|
||||
return null
|
||||
}
|
||||
|
||||
if (params.contentType === PageContentTypeEnum.hotelPage) {
|
||||
const hotelPageData = await getHotelPage()
|
||||
|
||||
const hotelData = await getHotel({
|
||||
hotelId: hotelPageData?.hotel_page_id || "",
|
||||
language: getLang(),
|
||||
isCardOnlyPayment: false,
|
||||
})
|
||||
|
||||
const isMeetingSubpage =
|
||||
hotelData?.additionalData.meetingRooms.nameInUrl === searchParams.subpage
|
||||
|
||||
if (isMeetingSubpage) {
|
||||
return null
|
||||
}
|
||||
|
||||
const hotelPageParams = {
|
||||
bookingCode: searchParams.bookingCode ?? "",
|
||||
hotel: hotelData?.hotel.id ?? "",
|
||||
city: hotelData?.hotel.cityName ?? "",
|
||||
}
|
||||
|
||||
return <BookingWidget bookingWidgetSearchParams={hotelPageParams} />
|
||||
return (
|
||||
<BookingWidgetOnHotelPage
|
||||
bookingCode={searchParams.bookingCode}
|
||||
subpage={searchParams.subpage}
|
||||
/>
|
||||
)
|
||||
}
|
||||
|
||||
return <BookingWidget bookingWidgetSearchParams={searchParams} />
|
||||
}
|
||||
|
||||
async function BookingWidgetOnHotelPage({
|
||||
bookingCode,
|
||||
subpage,
|
||||
}: {
|
||||
bookingCode?: string
|
||||
subpage: string
|
||||
}) {
|
||||
const hotelPageData = await getHotelPage()
|
||||
|
||||
const hotelData = await getHotel({
|
||||
hotelId: hotelPageData?.hotel_page_id || "",
|
||||
language: getLang(),
|
||||
isCardOnlyPayment: false,
|
||||
})
|
||||
|
||||
const isMeetingSubpage =
|
||||
hotelData?.additionalData.meetingRooms.nameInUrl === subpage
|
||||
|
||||
if (isMeetingSubpage) {
|
||||
return null
|
||||
}
|
||||
|
||||
const hotelPageParams = {
|
||||
bookingCode: bookingCode ?? "",
|
||||
hotel: hotelData?.hotel.id ?? "",
|
||||
city: hotelData?.hotel.cityName ?? "",
|
||||
}
|
||||
|
||||
return <BookingWidget bookingWidgetSearchParams={hotelPageParams} />
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user