From dc6ccb926fb900b1dfdf48288221bf831d4cefd5 Mon Sep 17 00:00:00 2001 From: Mawoka Date: Sun, 20 Nov 2022 19:05:42 +0100 Subject: [PATCH] :ambulance: Fixed #177 --- classquiz/socket_server/__init__.py | 11 ++++++----- frontend/src/lib/admin.svelte | 13 ++++++++----- frontend/src/lib/play/question.svelte | 3 +++ 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/classquiz/socket_server/__init__.py b/classquiz/socket_server/__init__.py index 55728c1..6a3b7e7 100644 --- a/classquiz/socket_server/__init__.py +++ b/classquiz/socket_server/__init__.py @@ -341,11 +341,12 @@ async def submit_answer(sid: str, data: dict): answers = _AnswerDataList.parse_raw(await redis.get(f"game_session:{session['game_pin']}:{data.question_index}")) player_count = await redis.scard(f"game_session:{session['game_pin']}:players") if len(answers.__root__) == player_count: - await sio.emit( - "question_results", - await redis.get(f"game_session:{session['game_pin']}:{data.question_index}"), - room=session["game_pin"], - ) + # await sio.emit( + # "question_results", + # await redis.get(f"game_session:{session['game_pin']}:{data.question_index}"), + # room=session["game_pin"], + # ) + await sio.emit("everyone_answered", {}) # await redis.set(f"game_data:{session['game_pin']}", json.dumps(data)) diff --git a/frontend/src/lib/admin.svelte b/frontend/src/lib/admin.svelte index 2e47a69..b2566f8 100644 --- a/frontend/src/lib/admin.svelte +++ b/frontend/src/lib/admin.svelte @@ -35,7 +35,7 @@ socket.emit('set_question_number', q_number.toString()); shown_question_now = q_number; timer_res = quiz_data.questions[q_number].time; - selected_question += 1; + selected_question = selected_question + 1; timer(timer_res); }; const get_question_results = () => { @@ -60,10 +60,13 @@ final_results = data; }); + socket.on('everyone_answered', (data) => { + timer_res = '0'; + }); + socket.on('question_results', (data) => { try { question_results = JSON.parse(data); - final_results_clicked = true; timer_res = '0'; } catch { question_results = undefined; @@ -75,7 +78,7 @@ let timer_interval = setInterval(() => { if (timer_res === '0') { clearInterval(timer_interval); - socket.emit('show_solutions', {}); + // socket.emit('show_solutions', {}); return; } else { seconds--; @@ -198,11 +201,11 @@ class="text-center text-2xl px-2 py-4 w-full text-black" class:text-4xl={answer.right && timer_res === '0' && - quiz_data.questions[selected_question].type !== + quiz_data.questions[selected_question].type === QuizQuestionType.ABCD} class:underline={answer.right && timer_res === '0' && - quiz_data.questions[selected_question].type !== + quiz_data.questions[selected_question].type === QuizQuestionType.ABCD}>{answer.answer} diff --git a/frontend/src/lib/play/question.svelte b/frontend/src/lib/play/question.svelte index c4c9048..c69802a 100644 --- a/frontend/src/lib/play/question.svelte +++ b/frontend/src/lib/play/question.svelte @@ -51,6 +51,9 @@ timer_res = seconds.toString(); }, 1000); }; + socket.on('everyone_answered', (data) => { + timer_res = '0'; + }); timer(question.time);