// TeacherModeQuiz.tsx import React, { useEffect, useState } from 'react'; import QuestionComponent from '../QuestionsDisplay/QuestionDisplay'; import '../../pages/Student/JoinRoom/joinRoom.css'; import { QuestionType } from '../../Types/QuestionType'; // import { QuestionService } from '../../services/QuestionService'; import DisconnectButton from 'src/components/DisconnectButton/DisconnectButton'; import { Dialog, DialogTitle, DialogContent, DialogActions, Button } from '@mui/material'; import { Question } from 'gift-pegjs'; interface TeacherModeQuizProps { questionInfos: QuestionType; submitAnswer: (answer: string | number | boolean, idQuestion: number) => void; disconnectWebSocket: () => void; } const TeacherModeQuiz: React.FC = ({ questionInfos, submitAnswer, disconnectWebSocket }) => { const [isAnswerSubmitted, setIsAnswerSubmitted] = useState(false); const [isFeedbackDialogOpen, setIsFeedbackDialogOpen] = useState(false); const [feedbackMessage, setFeedbackMessage] = useState(''); const renderFeedbackMessage = (answer: string) => { if(answer === 'true' || answer === 'false'){ return ( Votre réponse est: {answer==="true" ? 'Vrai' : 'Faux'} ) } else{ return ( Votre réponse est: {answer.toString()} );} }; useEffect(() => { // Close the feedback dialog when the question changes handleFeedbackDialogClose(); setIsAnswerSubmitted(false); }, [questionInfos.question]); const handleOnSubmitAnswer = (answer: string | number | boolean) => { const idQuestion = Number(questionInfos.question.id) || -1; submitAnswer(answer, idQuestion); setFeedbackMessage(renderFeedbackMessage(answer.toString())); setIsFeedbackDialogOpen(true); }; const handleFeedbackDialogClose = () => { setIsFeedbackDialogOpen(false); setIsAnswerSubmitted(true); }; return (
Question {questionInfos.question.id}
{isAnswerSubmitted ? (
En attente pour la prochaine question...
) : ( )} Rétroaction
{feedbackMessage}
Question :
); }; export default TeacherModeQuiz;