import Overview from "@/components/Blocks/DynamicContent/Overview" import EarnAndBurn from "@/components/Blocks/DynamicContent/Points/EarnAndBurn" import PointsOverview from "@/components/Blocks/DynamicContent/Points/Overview" import CurrentRewardsBlock from "@/components/Blocks/DynamicContent/Rewards/CurrentRewards" import NextLevelRewardsBlock from "@/components/Blocks/DynamicContent/Rewards/NextLevel" import ShortcutsList from "@/components/Blocks/ShortcutsList" import JsonToHtml from "@/components/JsonToHtml" import { getLang } from "@/i18n/serverContext" import { modWebviewLink } from "@/utils/webviews" import type { AccountPageContentProps, ContentProps, } from "@/types/components/myPages/myPage/accountPage" import { BlocksEnums } from "@/types/enums/blocks" import { DynamicContentEnum } from "@/types/enums/dynamicContent" function DynamicComponent({ dynamic_content }: AccountPageContentProps) { const dynamicContent = { ...dynamic_content, link: dynamic_content.link ? { ...dynamic_content.link, href: modWebviewLink(dynamic_content.link.href, getLang()), } : undefined, } switch (dynamic_content.component) { case DynamicContentEnum.Blocks.components.membership_overview: return case DynamicContentEnum.Blocks.components.points_overview: return case DynamicContentEnum.Blocks.components.current_benefits: return case DynamicContentEnum.Blocks.components.next_benefits: return case DynamicContentEnum.Blocks.components.expiring_points: // TODO: Add once available // return return null case DynamicContentEnum.Blocks.components.earn_and_burn: return default: return null } } export default function Content({ content }: ContentProps) { return ( <> {content.map((item, idx) => { switch (item.typename) { case BlocksEnums.block.DynamicContent: return ( ) case BlocksEnums.block.Shortcuts: const shortcuts = item.shortcuts.shortcuts.map((shortcut) => { return { ...shortcut, url: modWebviewLink(shortcut.url, getLang()), } }) return ( ) case BlocksEnums.block.TextContent: return (
) default: return null } })} ) }