import { html, useState } from '../lib/preact.js'; import { getStatusMeta } from '../utils/status.js'; import { OptionButton } from './OptionButton.js'; export function QuestionBlock({ questions, sessionId, status, onRespond }) { const [freeformText, setFreeformText] = useState(''); const [focused, setFocused] = useState(false); const meta = getStatusMeta(status); if (!questions || questions.length === 0) return null; // Only show the first question (sequential, not parallel) const question = questions[0]; const remainingCount = questions.length - 1; const options = question.options || []; const handleOptionClick = (optionLabel) => { onRespond(sessionId, optionLabel, false, options.length); }; const handleFreeformSubmit = (e) => { e.preventDefault(); e.stopPropagation(); if (freeformText.trim()) { onRespond(sessionId, freeformText.trim(), true, options.length); setFreeformText(''); } }; return html`
${question.question || question.text}
${options.length > 0 && html`+ ${remainingCount} more question${remainingCount > 1 ? 's' : ''} after this
`}