{preamble}
diff --git a/components/ContentType/HotelPage/index.tsx b/components/ContentType/HotelPage/index.tsx
index 606192895..32ae7c9f0 100644
--- a/components/ContentType/HotelPage/index.tsx
+++ b/components/ContentType/HotelPage/index.tsx
@@ -85,7 +85,7 @@ export default async function HotelPage({ hotelId }: HotelPageProps) {
const images = gallery?.smallerImages
const description = hotelContent.texts.descriptions.medium
- const { spaPage, activitiesCard } = content
+ const { spaPage, activitiesCards } = content
const facilities: Facility[] = [
{
@@ -140,7 +140,7 @@ export default async function HotelPage({ hotelId }: HotelPageProps) {
0}
hasFAQ={!!faq.accordions.length}
/>
@@ -173,7 +173,7 @@ export default async function HotelPage({ hotelId }: HotelPageProps) {
@@ -220,11 +220,14 @@ export default async function HotelPage({ hotelId }: HotelPageProps) {
spaPage={spaPage?.spa_page}
/>
- {activitiesCard && (
+ {activitiesCards.map((card) => (
- )}
+ ))}
{
let spaPage: SpaPage | undefined
- let activitiesCard: ActivitiesCard | undefined
+ let activitiesCards: ActivitiesCard[] = []
+
data?.map((block) => {
switch (block.typename) {
case HotelPageEnum.ContentStack.blocks.ActivitiesCard:
- activitiesCard = block
+ activitiesCards.push(block)
break
case HotelPageEnum.ContentStack.blocks.SpaPage:
spaPage = block
@@ -54,7 +55,7 @@ export const hotelPageSchema = z.object({
break
}
})
- return { spaPage, activitiesCard }
+ return { spaPage, activitiesCards }
}),
faq: hotelFaqSchema,
hotel_page_id: z.string(),
diff --git a/server/routers/contentstack/schemas/blocks/activitiesCard.ts b/server/routers/contentstack/schemas/blocks/activitiesCard.ts
index 22be43b46..9c1f42a51 100644
--- a/server/routers/contentstack/schemas/blocks/activitiesCard.ts
+++ b/server/routers/contentstack/schemas/blocks/activitiesCard.ts
@@ -18,8 +18,10 @@ export const activitiesCardSchema = z.object({
background_image: tempImageVaultAssetSchema,
body_text: z.string(),
cta_text: z.string(),
+ sidepeek_cta_text: z.string(),
heading: z.string(),
scripted_title: z.string().optional(),
+ sidepeek_slug: z.string(),
hotel_page_activities_content_pageConnection: z.object({
edges: z.array(
z.object({
@@ -53,6 +55,8 @@ export const activitiesCardSchema = z.object({
bodyText: data.body_text,
contentPage,
ctaText: data.cta_text,
+ sidepeekCtaText: data.sidepeek_cta_text,
+ sidepeekSlug: data.sidepeek_slug,
heading: data.heading,
scriptedTopTitle: data.scripted_title,
}
diff --git a/types/components/hotelPage/facilities.ts b/types/components/hotelPage/facilities.ts
index 13a1047bd..9080843e6 100644
--- a/types/components/hotelPage/facilities.ts
+++ b/types/components/hotelPage/facilities.ts
@@ -1,10 +1,10 @@
import type { Amenities, Facility, HealthFacilities } from "@/types/hotel"
-import type { ActivityCard } from "@/types/trpc/routers/contentstack/hotelPage"
+import type { ActivitiesCard } from "@/types/trpc/routers/contentstack/hotelPage"
import type { CardProps } from "@/components/TempDesignSystem/Card/card"
export type FacilitiesProps = {
facilities: Facility[]
- activitiesCard?: ActivityCard
+ activitiesCards: ActivitiesCard[]
amenities: Amenities
healthFacilities: HealthFacilities
}
diff --git a/types/components/hotelPage/sidepeek/activities.ts b/types/components/hotelPage/sidepeek/activities.ts
index 60e2b3357..34723e202 100644
--- a/types/components/hotelPage/sidepeek/activities.ts
+++ b/types/components/hotelPage/sidepeek/activities.ts
@@ -3,4 +3,6 @@ export type ActivitiesSidePeekProps = {
href: string
preamble: string
}
+ sidepeekCTA: string
+ sidepeekSlug: string
}