// TrueFalseQuestion.tsx import React, { useState, useEffect } from 'react'; import '../questionStyle.css'; import { Button } from '@mui/material'; import { TrueFalseQuestion } from 'gift-pegjs'; import { FormattedTextTemplate } from 'src/components/GiftTemplate/templates/TextTypeTemplate'; import { AnswerType } from 'src/pages/Student/JoinRoom/JoinRoom'; interface Props { question: TrueFalseQuestion; handleOnSubmitAnswer?: (answer: AnswerType) => void; showAnswer?: boolean; passedAnswer?: AnswerType; } const TrueFalseQuestionDisplay: React.FC = (props) => { const { question, showAnswer, handleOnSubmitAnswer, passedAnswer } = props; const [answer, setAnswer] = useState(() => { if (passedAnswer && (passedAnswer[0] === true || passedAnswer[0] === false)) { return passedAnswer[0]; } return undefined; }); let disableButton = false; if (handleOnSubmitAnswer === undefined) { disableButton = true; } useEffect(() => { console.log("passedAnswer", passedAnswer); if (passedAnswer && (passedAnswer[0] === true || passedAnswer[0] === false)) { setAnswer(passedAnswer[0]); } else { setAnswer(undefined); } }, [passedAnswer, question.id]); const handleOnClickAnswer = (choice: boolean) => { setAnswer(choice); }; const selectedTrue = answer ? 'selected' : ''; const selectedFalse = answer !== undefined && !answer ? 'selected' : ''; return (
{question.formattedGlobalFeedback && showAnswer && (
)} {!showAnswer && handleOnSubmitAnswer && ( )}
); }; export default TrueFalseQuestionDisplay;