import { z } from "zod" export const bannerSchema = z.object({ button_text: z.string(), header: z.string(), sub_header: z.string(), }) export const modalSchema = z .object({ header: z.string(), sub_header: z.string(), cards: z.object({ card: z.array( z.object({ image_type: z.string(), preamble: z.string(), title: z.string(), }) ), }), }) .transform(({ header, sub_header, cards }) => ({ header, sub_header, cards: cards.card, })) export const profilingConsentSchema = z .object({ all_profiling_consent: z.object({ items: z.array( z.object({ main_icon: z.string(), profiling_consent_banner: bannerSchema, profiling_consent_modal: modalSchema, }) ), }), }) .transform((data) => { const profiling_consent = data.all_profiling_consent.items[0] if (!profiling_consent) return null return { icon: profiling_consent.main_icon, banner: profiling_consent.profiling_consent_banner, modal: profiling_consent.profiling_consent_modal, } })