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

View File

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

View File

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

View File

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