Merged in fix/metadata-schema (pull request #2893)
fix: Updated metadata schema to handle transformed hotel data * fix: Updated metadata schema to handle transformed hotel data Approved-by: Linus Flood
This commit is contained in:
committed by
Linus Flood
parent
57315baf97
commit
4f151b143e
@@ -21,14 +21,14 @@ function getSubpageDescription(
|
||||
}
|
||||
|
||||
switch (subpageUrl) {
|
||||
case additionalHotelData.hotelParking.nameInUrl:
|
||||
return additionalHotelData.hotelParking.elevatorPitch
|
||||
case additionalHotelData.healthAndFitness.nameInUrl:
|
||||
return additionalHotelData.healthAndFitness.elevatorPitch
|
||||
case additionalHotelData.hotelSpecialNeeds.nameInUrl:
|
||||
return additionalHotelData.hotelSpecialNeeds.elevatorPitch
|
||||
case additionalHotelData.meetingRooms.nameInUrl:
|
||||
return additionalHotelData.meetingRooms.elevatorPitch
|
||||
case additionalHotelData.hotelParking?.nameInUrl:
|
||||
return additionalHotelData.hotelParking?.elevatorPitch
|
||||
case additionalHotelData.healthAndFitness?.nameInUrl:
|
||||
return additionalHotelData.healthAndFitness?.elevatorPitch
|
||||
case additionalHotelData.hotelSpecialNeeds?.nameInUrl:
|
||||
return additionalHotelData.hotelSpecialNeeds?.elevatorPitch
|
||||
case additionalHotelData.meetingRooms?.nameInUrl:
|
||||
return additionalHotelData.meetingRooms?.elevatorPitch
|
||||
default:
|
||||
return null
|
||||
}
|
||||
@@ -57,7 +57,7 @@ export async function getHotelPageDescription(data: RawMetadataSchema) {
|
||||
const location = hotelData.translatedCityName
|
||||
const amenities = hotelData.detailedFacilities
|
||||
|
||||
if (amenities.length < 4) {
|
||||
if (!amenities || amenities.length < 4) {
|
||||
return intl.formatMessage(
|
||||
{ defaultMessage: "{hotelName} in {location}. Book your stay now!" },
|
||||
{ hotelName, location }
|
||||
|
||||
@@ -12,27 +12,28 @@ export function getHotelPageImage(data: RawMetadataSchema) {
|
||||
(restaurant) => restaurant.nameInUrl === subpageUrl
|
||||
)
|
||||
const restaurantImage = restaurantSubPage?.content?.images?.[0]
|
||||
if (restaurantImage) {
|
||||
if (restaurantImage?.src) {
|
||||
subpageImage = {
|
||||
url: restaurantImage.src,
|
||||
alt: restaurantImage.altText || restaurantImage.altText_En || undefined,
|
||||
}
|
||||
} else {
|
||||
switch (subpageUrl) {
|
||||
case additionalHotelData?.hotelParking.nameInUrl:
|
||||
const parkingImage = additionalHotelData?.parkingImages?.heroImages[0]
|
||||
if (parkingImage) {
|
||||
case additionalHotelData?.hotelParking?.nameInUrl:
|
||||
const parkingImage =
|
||||
additionalHotelData?.parkingImages?.heroImages?.[0]
|
||||
if (parkingImage?.src) {
|
||||
subpageImage = {
|
||||
url: parkingImage.src,
|
||||
alt: parkingImage.altText || parkingImage.altText_En || undefined,
|
||||
}
|
||||
}
|
||||
break
|
||||
case additionalHotelData?.healthAndFitness.nameInUrl:
|
||||
const wellnessImage = hotelData.healthFacilities.find(
|
||||
(fac) => fac.content.images.length
|
||||
)?.content.images[0]
|
||||
if (wellnessImage) {
|
||||
case additionalHotelData?.healthAndFitness?.nameInUrl:
|
||||
const wellnessImage = hotelData?.healthFacilities?.find(
|
||||
(fac) => fac?.content?.images?.length
|
||||
)?.content?.images[0]
|
||||
if (wellnessImage?.src) {
|
||||
subpageImage = {
|
||||
url: wellnessImage.src,
|
||||
alt:
|
||||
@@ -40,10 +41,10 @@ export function getHotelPageImage(data: RawMetadataSchema) {
|
||||
}
|
||||
}
|
||||
break
|
||||
case additionalHotelData?.hotelSpecialNeeds.nameInUrl:
|
||||
case additionalHotelData?.hotelSpecialNeeds?.nameInUrl:
|
||||
const accessibilityImage =
|
||||
additionalHotelData?.accessibility?.heroImages[0]
|
||||
if (accessibilityImage) {
|
||||
additionalHotelData?.accessibility?.heroImages?.[0]
|
||||
if (accessibilityImage?.src) {
|
||||
subpageImage = {
|
||||
url: accessibilityImage.src,
|
||||
alt:
|
||||
@@ -53,10 +54,10 @@ export function getHotelPageImage(data: RawMetadataSchema) {
|
||||
}
|
||||
}
|
||||
break
|
||||
case additionalHotelData?.meetingRooms.nameInUrl:
|
||||
case additionalHotelData?.meetingRooms?.nameInUrl:
|
||||
const meetingImage =
|
||||
additionalHotelData?.conferencesAndMeetings?.heroImages[0]
|
||||
if (meetingImage) {
|
||||
additionalHotelData?.conferencesAndMeetings?.heroImages?.[0]
|
||||
if (meetingImage?.src) {
|
||||
subpageImage = {
|
||||
url: meetingImage.src,
|
||||
alt: meetingImage.altText || meetingImage.altText_En || undefined,
|
||||
@@ -77,7 +78,7 @@ export function getHotelPageImage(data: RawMetadataSchema) {
|
||||
additionalHotelData?.gallery?.heroImages?.[0] ||
|
||||
additionalHotelData?.gallery?.smallerImages?.[0]
|
||||
|
||||
if (hotelImage) {
|
||||
if (hotelImage?.src) {
|
||||
return {
|
||||
url: hotelImage.src,
|
||||
alt: hotelImage.altText || undefined,
|
||||
|
||||
@@ -46,7 +46,7 @@ async function getSubpageTitle(
|
||||
}
|
||||
|
||||
switch (subpageUrl) {
|
||||
case additionalHotelData.hotelParking.nameInUrl:
|
||||
case additionalHotelData.hotelParking?.nameInUrl:
|
||||
const parkingTitleLong = intl.formatMessage(
|
||||
{
|
||||
defaultMessage:
|
||||
@@ -63,7 +63,7 @@ async function getSubpageTitle(
|
||||
return parkingTitleShort
|
||||
}
|
||||
return parkingTitleLong
|
||||
case additionalHotelData.healthAndFitness.nameInUrl:
|
||||
case additionalHotelData.healthAndFitness?.nameInUrl:
|
||||
const wellnessTitleLong = intl.formatMessage(
|
||||
{
|
||||
defaultMessage:
|
||||
@@ -80,7 +80,7 @@ async function getSubpageTitle(
|
||||
return wellnessTitleShort
|
||||
}
|
||||
return wellnessTitleLong
|
||||
case additionalHotelData.hotelSpecialNeeds.nameInUrl:
|
||||
case additionalHotelData.hotelSpecialNeeds?.nameInUrl:
|
||||
const accessibilityTitleLong = intl.formatMessage(
|
||||
{
|
||||
defaultMessage:
|
||||
@@ -97,7 +97,7 @@ async function getSubpageTitle(
|
||||
return accessibilityTitleShort
|
||||
}
|
||||
return accessibilityTitleLong
|
||||
case additionalHotelData.meetingRooms.nameInUrl:
|
||||
case additionalHotelData.meetingRooms?.nameInUrl:
|
||||
const meetingsTitleLong = intl.formatMessage(
|
||||
{
|
||||
defaultMessage:
|
||||
|
||||
Reference in New Issue
Block a user