// 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(''); 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(`Votre réponse est "${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}
); }; export default TeacherModeQuiz;