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 "@/types/enums/blocks" export default function Blocks({ blocks }: BlocksProps) { return blocks.map((block, idx) => { const firstItem = idx === 0 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: modWebviewLink( block.dynamic_content.link.href, getLang() ), } : undefined, } return ( ) case BlocksEnums.block.Shortcuts: const shortcuts = block.shortcuts.shortcuts.map((shortcut) => ({ ...shortcut, url: modWebviewLink(shortcut.url, getLang()), })) return ( ) default: return null } }) }