From fc219aaec08f09d59bcecf0e0a4eded29cf488e6 Mon Sep 17 00:00:00 2001 From: Linus Flood Date: Tue, 18 Mar 2025 10:36:40 +0000 Subject: [PATCH] Merged in fix/handle-no-meetingrooms (pull request #1563) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix/handle no meetingrooms * feat/meeting-rooms: handle no meeting rooms * Cleanup Approved-by: Anton Gunnarsson Approved-by: Matilda Landström --- .../ContentType/HotelPage/index.tsx | 32 ++++++++++++------- .../ContentType/HotelSubpage/index.tsx | 9 +++--- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/apps/scandic-web/components/ContentType/HotelPage/index.tsx b/apps/scandic-web/components/ContentType/HotelPage/index.tsx index d067b9ee5..2198f307e 100644 --- a/apps/scandic-web/components/ContentType/HotelPage/index.tsx +++ b/apps/scandic-web/components/ContentType/HotelPage/index.tsx @@ -16,6 +16,7 @@ import TrackingSDK from "@/components/TrackingSDK" import { getLang } from "@/i18n/serverContext" import { setFacilityCards } from "@/utils/facilityCards" import { generateHotelSchema } from "@/utils/jsonSchemas" +import { safeTry } from "@/utils/safeTry" import DynamicMap from "./Map/DynamicMap" import MapCard from "./Map/MapCard" @@ -46,15 +47,24 @@ import { PageContentTypeEnum } from "@/types/requests/contentType" export default async function HotelPage({ hotelId }: HotelPageProps) { const lang = getLang() - const [hotelPageData, hotelData, meetingRoomsData] = await Promise.all([ - getHotelPage(), - getHotel({ - hotelId, - isCardOnlyPayment: false, - language: lang, - }), - getMeetingRooms({ hotelId, language: lang }), - ]) + + void getHotelPage() + void getHotel({ + hotelId, + isCardOnlyPayment: false, + language: lang, + }) + + const hotelPageData = await getHotelPage() + const hotelData = await getHotel({ + hotelId, + isCardOnlyPayment: false, + language: lang, + }) + + const [meetingRoomsData] = await safeTry( + getMeetingRooms({ hotelId, language: lang }) + ) const googleMapsApiKey = env.GOOGLE_STATIC_MAP_KEY const googleMapId = env.GOOGLE_DYNAMIC_MAP_ID @@ -102,7 +112,7 @@ export default async function HotelPage({ hotelId }: HotelPageProps) { const { spaPage, activitiesCards } = content const hasRestaurants = restaurants.length > 0 - const hasMeetingRooms = meetingRoomsData.length > 0 + const hasMeetingRooms = !!meetingRoomsData?.length const hasWellness = healthFacilities.length > 0 const facilities = setFacilityCards( @@ -264,7 +274,7 @@ export default async function HotelPage({ hotelId }: HotelPageProps) { restaurant.nameInUrl === subpage