// 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'; interface Props { question: TrueFalseQuestion; handleOnSubmitAnswer?: (answer: string | number | boolean) => void; showAnswer?: boolean; passedAnswer?: string | number | boolean; } const TrueFalseQuestionDisplay: React.FC = (props) => { const { question, showAnswer, handleOnSubmitAnswer, passedAnswer} = props; let disableButton = false; if(handleOnSubmitAnswer === undefined){ disableButton = true; } useEffect(() => { if (passedAnswer === true || passedAnswer === false) { setAnswer(passedAnswer); } else { setAnswer(undefined); } }, [passedAnswer]); const [answer, setAnswer] = useState(() => { if (passedAnswer === true || passedAnswer === false) { return passedAnswer; } return undefined; }); 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;