import JsonToHtml from "@/components/JsonToHtml" import CurrentBenefitsBlock from "@/components/MyPages/Blocks/Benefits/CurrentLevel" import NextLevelBenefitsBlock from "@/components/MyPages/Blocks/Benefits/NextLevel" import Overview from "@/components/MyPages/Blocks/Overview" import Shortcuts from "@/components/MyPages/Blocks/Shortcuts" import SoonestStays from "@/components/MyPages/Blocks/Stays/Soonest" import UpcomingStays from "@/components/MyPages/Blocks/Stays/Upcoming" import PreviousStays from "../Blocks/Stays/Previous" import { AccountPageContentProps, ContentProps, } from "@/types/components/myPages/myPage/accountPage" import { ContentEntries, DynamicContentComponents, } from "@/types/components/myPages/myPage/enums" function DynamicComponent({ component, props }: AccountPageContentProps) { switch (component) { case DynamicContentComponents.membership_overview: return case DynamicContentComponents.previous_stays: return case DynamicContentComponents.soonest_stays: return case DynamicContentComponents.upcoming_stays: return case DynamicContentComponents.current_benefits: return case DynamicContentComponents.next_benefits: return default: return null } } export default function Content({ lang, content }: ContentProps) { return ( <> {content.map((item) => { switch (item.__typename) { case ContentEntries.AccountPageContentDynamicContent: const link = item.dynamic_content.link.linkConnection.edges.length ? { href: item.dynamic_content.link.linkConnection.edges[0].node .original_url || `/${lang}${item.dynamic_content.link.linkConnection.edges[0].node.url}`, text: item.dynamic_content.link.link_text, } : null const componentProps = { lang, title: item.dynamic_content.title, // TODO: rename preamble to subtitle in Contentstack? subtitle: item.dynamic_content.preamble, ...(link && { link }), } return ( ) case ContentEntries.AccountPageContentShortcuts: return ( ) case ContentEntries.AccountPageContentTextContent: return (
) default: return null } })} ) }