diff --git a/classquiz/socket_server/__init__.py b/classquiz/socket_server/__init__.py index fe546da..1afc899 100644 --- a/classquiz/socket_server/__init__.py +++ b/classquiz/socket_server/__init__.py @@ -226,12 +226,14 @@ async def register_as_admin(sid: str, data: dict): async def get_question_results(sid: str, data: dict): session = await sio.get_session(sid) if session["admin"]: - redis_res = await redis.get(f"game_session:{session['game_pin']}:{data['question_number']}") + redis_res = AnswerDataList.parse_raw( + await redis.get(f"game_session:{session['game_pin']}:{data['question_number']}") + ) game_data = PlayGame.parse_raw(await redis.get(f"game:{session['game_pin']}")) game_data.question_show = False await redis.set(f"game:{session['game_pin']}", game_data.json()) game_pin = session["game_pin"] - await sio.emit("question_results", redis_res, room=game_pin) + await sio.emit("question_results", redis_res.dict()["__root__"], room=game_pin) class ABCDQuizAnswerWithoutSolution(BaseModel): diff --git a/frontend/src/lib/admin.svelte b/frontend/src/lib/admin.svelte index 7e919a8..74cc96c 100644 --- a/frontend/src/lib/admin.svelte +++ b/frontend/src/lib/admin.svelte @@ -44,10 +44,6 @@ SPDX-License-Identifier: MPL-2.0 socket.on('get_question_results', () => { console.log('get_question_results'); }); - socket.on('question_results', (_) => { - timer_res = '0'; - clearInterval(timer_interval); - }); socket.on('set_question_number', (data) => { timer_res = '0'; clearInterval(timer_interval); @@ -90,12 +86,9 @@ SPDX-License-Identifier: MPL-2.0 }); socket.on('question_results', (data) => { - try { - question_results = JSON.parse(data); - timer_res = '0'; - } catch { - question_results = undefined; - } + console.log('question_results:', data); + question_results = data; + timer_res = '0'; }); socket.on('player_answer', (_) => { @@ -295,8 +288,8 @@ SPDX-License-Identifier: MPL-2.0 {/if} {/if}
- {#if timer_res === '0' && JSON.stringify(final_results) === JSON.stringify( [null] ) && quiz_data.questions[selected_question].type !== QuizQuestionType.SLIDE} - {#if question_results === null}{:else if question_results === undefined} + {#if timer_res === '0' && JSON.stringify(final_results) === JSON.stringify( [null] ) && quiz_data.questions[selected_question].type !== QuizQuestionType.SLIDE && question_results !== null} + {#if question_results === undefined} {#if !final_results_clicked}

{$t('admin_page.no_answers')}

@@ -319,13 +312,14 @@ SPDX-License-Identifier: MPL-2.0 {/await} {/if} - {:else if timer_res !== undefined}{/if} + {/if}
- {#if get_question_title(selected_question + 1, quiz_data) !== '' && selected_question + 1 !== 0}{:else if selected_question + 1 === 0} + {#if get_question_title(selected_question + 1, quiz_data) === '' && selected_question + 1 === 0}

{@html quiz_data.title}

{@html quiz_data.description}

diff --git a/frontend/src/lib/editor/slides/edit_menu.svelte b/frontend/src/lib/editor/slides/edit_menu.svelte index aee85d4..d812864 100644 --- a/frontend/src/lib/editor/slides/edit_menu.svelte +++ b/frontend/src/lib/editor/slides/edit_menu.svelte @@ -4,7 +4,7 @@ SPDX-FileCopyrightText: 2023 Marlon W (Mawoka) SPDX-License-Identifier: MPL-2.0 --> - -
+
{#if opened_dropdown === 'color'}
- +
{/if}
{#if opened_dropdown === 'font_size'}
{/if}
-
+
diff --git a/frontend/src/lib/play/admin/results.svelte b/frontend/src/lib/play/admin/results.svelte index 5a2d4ea..baecac2 100644 --- a/frontend/src/lib/play/admin/results.svelte +++ b/frontend/src/lib/play/admin/results.svelte @@ -5,13 +5,16 @@ SPDX-License-Identifier: MPL-2.0 --> -
+
@@ -124,4 +127,7 @@ SPDX-License-Identifier: MPL-2.0
-
+
+ +
+
diff --git a/frontend/src/lib/play/admin/voting_results.svelte b/frontend/src/lib/play/admin/voting_results.svelte index 6a5cb4e..5d6b723 100644 --- a/frontend/src/lib/play/admin/voting_results.svelte +++ b/frontend/src/lib/play/admin/voting_results.svelte @@ -18,7 +18,6 @@ SPDX-License-Identifier: MPL-2.0 quiz_colors.push(i.color); } - console.log('mounted', question); let sorted_data = {}; for (const i of quiz_answers) { sorted_data[i] = 0; @@ -28,27 +27,35 @@ SPDX-License-Identifier: MPL-2.0 } -
+
- {#each quiz_answers as answer} - {#if sorted_data[answer] > 0}{sorted_data[answer]}{/if} - {/each} - {#each quiz_answers as answer, i} -
- {/each} - {#each quiz_answers as answer} -
-

{@html answer}

-
- {/each} +
+ {#each quiz_answers as answer} + {#if sorted_data[answer] > 0}{sorted_data[answer]}{/if} + {/each} +
+
+ {#each quiz_answers as answer, i} +
+ {/each} +
+
+ {#each quiz_answers as answer} +
+

{@html answer}

+
+ {/each} +