import { useState } from 'react';

function RadioGroup({ options, value, onChange }) {
  return (
    <div className="radio-group">
      {options.map((opt) => (
        <label
          key={opt}
          className={`radio-option${value === opt ? ' selected' : ''}`}
          onClick={() => onChange(opt)}
        >
          <div className="radio-circle">
            <div className="radio-dot" />
          </div>
          <span className="radio-label">{opt}</span>
        </label>
      ))}
    </div>
  );
}

export default function QuestionCard({ question, index, total, onAnswer, answer }) {
  const isText = !question.options;

  return (
    <div className="q-card" style={{ animationDelay: `${index * 0.06}s` }}>
      <div className="q-index">Question {index + 1} of {total}</div>
      <div className="q-text">{question.question}</div>

      {isText ? (
        <textarea
          className="text-answer"
          placeholder="Type your answer here…"
          value={answer || ''}
          onChange={(e) => onAnswer(e.target.value)}
          rows={3}
          id={`q-text-${index}`}
        />
      ) : (
        <RadioGroup
          options={question.options}
          value={answer || ''}
          onChange={onAnswer}
        />
      )}
    </div>
  );
}
