Merged in fix/hotel-faq (pull request #1265)

fix: setting faq section as nullable from CS as CS returns null after import

* fix: setting faq section as nullable from CS as CS returns null after import


Approved-by: Fredrik Thorsson
This commit is contained in:
Erik Tiekstra
2025-02-06 09:19:59 +00:00
parent d0e2bd5c8d
commit 8ecaac4b52
4 changed files with 64 additions and 60 deletions

View File

@@ -150,7 +150,7 @@ export default async function HotelPage({ hotelId }: HotelPageProps) {
<TabNavigation
restaurantTitle={getRestaurantHeading(detailedFacilities)}
hasActivities={activitiesCards.length > 0}
hasFAQ={!!faq.accordions.length}
hasFAQ={!!faq?.accordions.length}
tabValues={tabValues}
/>
@@ -187,7 +187,7 @@ export default async function HotelPage({ hotelId }: HotelPageProps) {
amenities={detailedFacilities}
healthFacilities={healthFacilities}
/>
{faq.accordions.length > 0 && (
{faq && faq.accordions.length > 0 && (
<AccordionSection accordion={faq.accordions} title={faq.title} />
)}
</main>

View File

@@ -70,7 +70,7 @@ export const hotelPageSchema = z.object({
})
return { spaPage, activitiesCards }
}),
faq: hotelFaqSchema,
faq: hotelFaqSchema.nullable(),
hotel_page_id: z.string(),
title: z.string(),
url: z.string(),

View File

@@ -1240,7 +1240,7 @@ export const hotelQueryRouter = router({
},
})
)
return null
return []
}
const apiJson = await apiResponse.json()

View File

@@ -57,10 +57,14 @@ export function setFacilityCardGrids(
): Facilities {
const lang = getLang()
const cards: Facilities = facilities.map((facility) => {
const cards: Facilities = facilities
.filter((fac) => !!fac.headingText)
.map((facility) => {
let card: FacilityCard
const grid: FacilityGrid = facility.heroImages.slice(0, 2).map((image) => {
const grid: FacilityGrid = facility.heroImages
.slice(0, 2)
.map((image) => {
// Can be a maximum 2 images per grid
const img: FacilityImage = {
backgroundImage: {