import QuestionTypeBadge from '@/components/exam/question-type-badge'; import { Badge } from '@/components/ui/badge'; import { Card, CardContent, CardHeader } from '@/components/ui/card'; import FillBlankQuestion from './fill-blank-question'; import ListeningQuestion from './listening-question'; import MatchingQuestion from './matching-question'; import McqQuestion from './mcq-question'; import MultipleSelectQuestion from './multiple-select-question'; import OrderingQuestion from './ordering-question'; import ShortAnswerQuestion from './short-answer-question'; interface Props { question: ExamQuestion; questionNumber: number; answer: any; onAnswerChange: (answer: any) => void; } const QuestionRenderer = ({ question, questionNumber, answer, onAnswerChange }: Props) => { const renderQuestionInput = () => { switch (question.question_type) { case 'multiple_choice': return ; case 'multiple_select': return ; case 'matching': return ; case 'fill_blank': return ; case 'ordering': return ; case 'short_answer': return ; case 'listening': return ; default: return (

Question type "{question.question_type}" is not yet implemented in the interface.

); } }; return (
Question {questionNumber} {question.marks} marks

{question.title}

{question.description && (
)}
{renderQuestionInput()} ); }; export default QuestionRenderer;