import { z } from "zod" import { discriminatedUnionArray } from "@/lib/discriminatedUnion" import { activitiesCard } from "../schemas/blocks/activitiesCard" import { HotelPageEnum } from "@/types/enums/hotelPage" const contentBlockActivities = z .object({ __typename: z.literal(HotelPageEnum.ContentStack.blocks.ActivitiesCard), }) .merge(activitiesCard) export const contentBlock = z.discriminatedUnion("__typename", [ contentBlockActivities, ]) export const hotelPageSchema = z.object({ hotel_page: z.object({ content: discriminatedUnionArray(contentBlock.options).nullable(), hotel_page_id: z.string(), title: z.string(), url: z.string(), }), })