diff --git a/src/components/connection/blocks/AccordionBlock.tsx b/src/components/connection/blocks/AccordionBlock.tsx index f0ee2d0..fd46c36 100644 --- a/src/components/connection/blocks/AccordionBlock.tsx +++ b/src/components/connection/blocks/AccordionBlock.tsx @@ -13,9 +13,15 @@ export function AccordionBlock({ }: BlockRendererProps) { const [openIndex, setOpenIndex] = useState(0); + const visibleBlocks = blocks.filter( + (b) => getLocalizedText(b.title) || getLocalizedText(b.description) || b.buttons?.length, + ); + + if (!visibleBlocks.length) return null; + return (
- {blocks.map((block, index) => { + {visibleBlocks.map((block, index) => { const gradientStyle = getColorGradient(block.svgIconColor || 'cyan', isLight); const isOpen = openIndex === index; diff --git a/src/components/connection/blocks/CardsBlock.tsx b/src/components/connection/blocks/CardsBlock.tsx index 0c528d8..5ef48c5 100644 --- a/src/components/connection/blocks/CardsBlock.tsx +++ b/src/components/connection/blocks/CardsBlock.tsx @@ -10,9 +10,15 @@ export function CardsBlock({ getSvgHtml, renderBlockButtons, }: BlockRendererProps) { + const visibleBlocks = blocks.filter( + (b) => getLocalizedText(b.title) || getLocalizedText(b.description) || b.buttons?.length, + ); + + if (!visibleBlocks.length) return null; + return (
- {blocks.map((block, index) => { + {visibleBlocks.map((block, index) => { const gradientStyle = getColorGradient(block.svgIconColor || 'cyan', isLight); return ( diff --git a/src/components/connection/blocks/MinimalBlock.tsx b/src/components/connection/blocks/MinimalBlock.tsx index ff2e5f5..e5abb99 100644 --- a/src/components/connection/blocks/MinimalBlock.tsx +++ b/src/components/connection/blocks/MinimalBlock.tsx @@ -10,11 +10,17 @@ export function MinimalBlock({ getSvgHtml, renderBlockButtons, }: BlockRendererProps) { + const visibleBlocks = blocks.filter( + (b) => getLocalizedText(b.title) || getLocalizedText(b.description) || b.buttons?.length, + ); + + if (!visibleBlocks.length) return null; + return (
- {blocks.map((block, index) => { + {visibleBlocks.map((block, index) => { const gradientStyle = getColorGradient(block.svgIconColor || 'cyan', isLight); - const isLast = index === blocks.length - 1; + const isLast = index === visibleBlocks.length - 1; return (
getLocalizedText(b.title) || getLocalizedText(b.description) || b.buttons?.length, + ); + + if (!visibleBlocks.length) return null; + return (
- {blocks.map((block, index) => { + {visibleBlocks.map((block, index) => { const gradientStyle = getColorGradientSolid(block.svgIconColor || 'cyan', isLight); - const isLast = index === blocks.length - 1; + const isLast = index === visibleBlocks.length - 1; return (