Merged in fix/handle-no-meetingrooms (pull request #1563)
Fix/handle no meetingrooms * feat/meeting-rooms: handle no meeting rooms * Cleanup Approved-by: Anton Gunnarsson Approved-by: Matilda Landström
This commit is contained in:
@@ -16,6 +16,7 @@ import TrackingSDK from "@/components/TrackingSDK"
|
|||||||
import { getLang } from "@/i18n/serverContext"
|
import { getLang } from "@/i18n/serverContext"
|
||||||
import { setFacilityCards } from "@/utils/facilityCards"
|
import { setFacilityCards } from "@/utils/facilityCards"
|
||||||
import { generateHotelSchema } from "@/utils/jsonSchemas"
|
import { generateHotelSchema } from "@/utils/jsonSchemas"
|
||||||
|
import { safeTry } from "@/utils/safeTry"
|
||||||
|
|
||||||
import DynamicMap from "./Map/DynamicMap"
|
import DynamicMap from "./Map/DynamicMap"
|
||||||
import MapCard from "./Map/MapCard"
|
import MapCard from "./Map/MapCard"
|
||||||
@@ -46,15 +47,24 @@ import { PageContentTypeEnum } from "@/types/requests/contentType"
|
|||||||
|
|
||||||
export default async function HotelPage({ hotelId }: HotelPageProps) {
|
export default async function HotelPage({ hotelId }: HotelPageProps) {
|
||||||
const lang = getLang()
|
const lang = getLang()
|
||||||
const [hotelPageData, hotelData, meetingRoomsData] = await Promise.all([
|
|
||||||
getHotelPage(),
|
void getHotelPage()
|
||||||
getHotel({
|
void getHotel({
|
||||||
hotelId,
|
hotelId,
|
||||||
isCardOnlyPayment: false,
|
isCardOnlyPayment: false,
|
||||||
language: lang,
|
language: lang,
|
||||||
}),
|
})
|
||||||
getMeetingRooms({ hotelId, 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 googleMapsApiKey = env.GOOGLE_STATIC_MAP_KEY
|
||||||
const googleMapId = env.GOOGLE_DYNAMIC_MAP_ID
|
const googleMapId = env.GOOGLE_DYNAMIC_MAP_ID
|
||||||
@@ -102,7 +112,7 @@ export default async function HotelPage({ hotelId }: HotelPageProps) {
|
|||||||
const { spaPage, activitiesCards } = content
|
const { spaPage, activitiesCards } = content
|
||||||
|
|
||||||
const hasRestaurants = restaurants.length > 0
|
const hasRestaurants = restaurants.length > 0
|
||||||
const hasMeetingRooms = meetingRoomsData.length > 0
|
const hasMeetingRooms = !!meetingRoomsData?.length
|
||||||
const hasWellness = healthFacilities.length > 0
|
const hasWellness = healthFacilities.length > 0
|
||||||
|
|
||||||
const facilities = setFacilityCards(
|
const facilities = setFacilityCards(
|
||||||
@@ -264,7 +274,7 @@ export default async function HotelPage({ hotelId }: HotelPageProps) {
|
|||||||
<MeetingsAndConferencesSidePeek
|
<MeetingsAndConferencesSidePeek
|
||||||
meetingFacilities={conferencesAndMeetings}
|
meetingFacilities={conferencesAndMeetings}
|
||||||
descriptions={hotelContent.texts.meetingDescription}
|
descriptions={hotelContent.texts.meetingDescription}
|
||||||
meetingRooms={meetingRoomsData}
|
meetingRooms={meetingRoomsData ?? []}
|
||||||
meetingPageUrl={
|
meetingPageUrl={
|
||||||
displayWebPage.meetingRoom ? meetingRooms.nameInUrl : undefined
|
displayWebPage.meetingRoom ? meetingRooms.nameInUrl : undefined
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import Preamble from "@/components/TempDesignSystem/Text/Preamble"
|
|||||||
import Title from "@/components/TempDesignSystem/Text/Title"
|
import Title from "@/components/TempDesignSystem/Text/Title"
|
||||||
import { getIntl } from "@/i18n"
|
import { getIntl } from "@/i18n"
|
||||||
import { getLang } from "@/i18n/serverContext"
|
import { getLang } from "@/i18n/serverContext"
|
||||||
|
import { safeTry } from "@/utils/safeTry"
|
||||||
|
|
||||||
import MeetingsAdditionalContent from "./AdditionalContent/Meetings"
|
import MeetingsAdditionalContent from "./AdditionalContent/Meetings"
|
||||||
import HotelSubpageAdditionalContent from "./AdditionalContent"
|
import HotelSubpageAdditionalContent from "./AdditionalContent"
|
||||||
@@ -54,10 +55,10 @@ export default async function HotelSubpage({
|
|||||||
|
|
||||||
const { hotel, restaurants, additionalData } = hotelData
|
const { hotel, restaurants, additionalData } = hotelData
|
||||||
|
|
||||||
let meetingRooms
|
const [meetingRooms] =
|
||||||
if (hotelData.additionalData.meetingRooms.nameInUrl === subpage) {
|
hotelData.additionalData.meetingRooms.nameInUrl === subpage
|
||||||
meetingRooms = await getMeetingRooms({ hotelId, language: lang })
|
? await safeTry(getMeetingRooms({ hotelId, language: lang }))
|
||||||
}
|
: []
|
||||||
|
|
||||||
const restaurantButton = restaurants.find(
|
const restaurantButton = restaurants.find(
|
||||||
(restaurant) => restaurant.nameInUrl === subpage
|
(restaurant) => restaurant.nameInUrl === subpage
|
||||||
|
|||||||
Reference in New Issue
Block a user