feat: create blocks component for loyalty

This commit is contained in:
Christel Westerberg
2024-04-22 09:54:24 +02:00
parent 3a0c8610dc
commit fc0e5aed02
17 changed files with 193 additions and 149 deletions

View File

@@ -0,0 +1,26 @@
import JsonToHtml from "@/components/JsonToHtml"
import {
Blocks as BlocksType,
LoyaltyBlocksTypenameEnum,
} from "@/types/requests/loyaltyPage"
export function Blocks({ blocks }: { blocks: BlocksType[] }) {
return blocks.map((block) => {
switch (block.__typename) {
case LoyaltyBlocksTypenameEnum.LoyaltyPageBlocksCardGrid:
return <p>Cards</p>
case LoyaltyBlocksTypenameEnum.LoyaltyPageBlocksContent:
return (
<JsonToHtml
nodes={block.content.json.children}
embeds={block.content.embedded_itemsConnection.edges}
/>
)
case LoyaltyBlocksTypenameEnum.LoyaltyPageBlocksDynamicContent:
return <p>Dynamic</p>
default:
return null
}
})
}