import React, { useState } from 'react'; import { ButtonBlock } from '../../types/blocks'; import SquareButton from './SquareButton'; import styles from './GridButtonsBlock.module.css'; interface GridButtonsBlockProps { block: ButtonBlock; onAction?: (actionType: string, actionValue: string, blockId?: string, buttonId?: string) => void; isInputVisible?: boolean; } const GridButtonsBlock: React.FC = ({ block, onAction, isInputVisible }) => { const [expanded, setExpanded] = useState(false); const { buttons, style } = block; const { gap = 12, padding = 16, buttonSize = 100, columns = 3 } = style; const visibleButtons = expanded ? buttons : buttons.slice(0, 6); const hasMoreButtons = buttons.length > 6; return (
{visibleButtons.map((button, index) => (
{ if (button.action && onAction) { onAction(button.action.type, button.action.value, block.id, button.id); } }} />
))}
{hasMoreButtons && ( )}
); }; export default GridButtonsBlock;