import JsonToHtml from "@/components/JsonToHtml" import DynamicContentBlock from "@/components/Loyalty/Blocks/DynamicContent" import Shortcuts from "@/components/MyPages/Blocks/Shortcuts" import { getLang } from "@/i18n/serverContext" import { modWebviewLink } from "@/utils/webviews" import CardsGrid from "../CardsGrid" import type { BlocksProps } from "@/types/components/loyalty/blocks" import { LoyaltyBlocksTypenameEnum } from "@/types/components/loyalty/enums" export function Blocks({ blocks }: BlocksProps) { return blocks.map((block, idx) => { const firstItem = idx === 0 switch (block.__typename) { case LoyaltyBlocksTypenameEnum.LoyaltyPageBlocksCardsGrid: return ( ) case LoyaltyBlocksTypenameEnum.LoyaltyPageBlocksContent: return (
) case LoyaltyBlocksTypenameEnum.LoyaltyPageBlocksDynamicContent: const dynamicContent = { ...block.dynamic_content, link: block.dynamic_content.link ? { ...block.dynamic_content.link, href: modWebviewLink( block.dynamic_content.link.href, getLang() ), } : undefined, } return ( ) case LoyaltyBlocksTypenameEnum.LoyaltyPageBlocksShortcuts: const shortcuts = block.shortcuts.shortcuts.map((shortcut) => ({ ...shortcut, url: modWebviewLink(shortcut.url, getLang()), })) return ( ) default: return null } }) }