diff --git a/client/src/Types/StudentType.tsx b/client/src/Types/StudentType.tsx index 41a4a63..872bdee 100644 --- a/client/src/Types/StudentType.tsx +++ b/client/src/Types/StudentType.tsx @@ -11,4 +11,5 @@ export interface StudentType { id: string; room?: string; answers: Answer[]; + isActive?: boolean; } diff --git a/client/src/components/LiveResults/LiveResultsTable/TableComponents/LiveResultsTableBody.tsx b/client/src/components/LiveResults/LiveResultsTable/TableComponents/LiveResultsTableBody.tsx index a0c67f7..adaba37 100644 --- a/client/src/components/LiveResults/LiveResultsTable/TableComponents/LiveResultsTableBody.tsx +++ b/client/src/components/LiveResults/LiveResultsTable/TableComponents/LiveResultsTableBody.tsx @@ -25,7 +25,12 @@ const LiveResultsTableFooter: React.FC = ({ return ( {students.map((student) => ( - + { socket.on('user-disconnected', (userId: string) => { console.log(`Student left: id = ${userId}`); - setStudents((prevUsers) => prevUsers.filter((user) => user.id !== userId)); + //setStudents((prevUsers) => prevUsers.filter((user) => user.id !== userId)); + setStudents(prevStudents => + prevStudents.map(student => + student.id === userId ? { ...student, isActive: false } : student + ) + ); }); setSocket(socket);