import { BlocksEnums } from "@scandic-hotels/trpc/types/blocks" import CardsGrid from "@/components/Blocks/CardsGrid" import DynamicContent from "@/components/Blocks/DynamicContent" import ShortcutsList from "@/components/Blocks/ShortcutsList" import JsonToHtml from "@/components/JsonToHtml" import { getLang } from "@/i18n/serverContext" import { modWebviewLink } from "@/utils/webviews" import type { BlocksProps } from "@/types/components/blocks" // import { BlocksEnums } from "@scandic-hotels/trpc/types/blocks" export default async function Blocks({ blocks }: BlocksProps) { const lang = await getLang() return Promise.all( blocks.map(async (block, idx) => { switch (block.typename) { case BlocksEnums.block.CardsGrid: return ( ) case BlocksEnums.block.Content: return ( ) case BlocksEnums.block.DynamicContent: const dynamicContent = { ...block.dynamic_content, link: block.dynamic_content.link ? { ...block.dynamic_content.link, href: await modWebviewLink( block.dynamic_content.link.href, lang ), } : undefined, } return ( ) case BlocksEnums.block.Shortcuts: const shortcuts = await Promise.all( block.shortcuts.shortcuts.map(async (shortcut) => ({ ...shortcut, url: await modWebviewLink(shortcut.url, lang), })) ) return ( ) default: return null } }) ) }