diff --git a/classquiz/routers/results.py b/classquiz/routers/results.py index 2fcd4f4..4c481b0 100644 --- a/classquiz/routers/results.py +++ b/classquiz/routers/results.py @@ -15,8 +15,14 @@ router = APIRouter() @router.get("/list") -async def list_game_results(user: User = Depends(get_current_user)) -> list[GameResults]: - results = await GameResults.objects.select_related(GameResults.quiz).all(user=user.id) +async def list_game_results( + user: User = Depends(get_current_user), +) -> list[GameResults]: + results = ( + await GameResults.objects.select_related(GameResults.quiz) + .order_by(GameResults.timestamp.desc()) + .all(user=user.id) + ) return results diff --git a/frontend/src/app.html b/frontend/src/app.html index a305b2a..5deb574 100644 --- a/frontend/src/app.html +++ b/frontend/src/app.html @@ -9,7 +9,6 @@ SPDX-License-Identifier: MPL-2.0
- {#if open} diff --git a/frontend/src/lib/editor.svelte b/frontend/src/lib/editor.svelte index b8a3004..6472058 100644 --- a/frontend/src/lib/editor.svelte +++ b/frontend/src/lib/editor.svelte @@ -5,9 +5,6 @@ SPDX-License-Identifier: MPL-2.0 --> @@ -57,11 +55,6 @@ SPDX-License-Identifier: MPL-2.0 : `unset`}" >{$t('play_page.your_score', { score: data[username] })}
diff --git a/frontend/src/lib/play/admin/game_not_started.svelte b/frontend/src/lib/play/admin/game_not_started.svelte index ec333df..d33d947 100644 --- a/frontend/src/lib/play/admin/game_not_started.svelte +++ b/frontend/src/lib/play/admin/game_not_started.svelte @@ -121,6 +121,15 @@ SPDX-License-Identifier: MPL-2.0 class="fixed top-0 left-0 z-50 w-screen h-screen bg-black/50 flex p-2" transition:fade|global={{ duration: 80 }} onclick={() => (fullscreen_open = false)} + tabindex="0" + role="button" + aria-label="Close modal" + onkeydown={(e) => + e.key === 'Enter' || e.key === ' ' + ? () => { + fullscreen_open = false; + } + : null} >{$t('admin_page.answers_submitted', { answer_count: answer_count })} diff --git a/frontend/src/lib/play/admin/results.svelte b/frontend/src/lib/play/admin/results.svelte index facbba3..12098cc 100644 --- a/frontend/src/lib/play/admin/results.svelte +++ b/frontend/src/lib/play/admin/results.svelte @@ -5,8 +5,6 @@ SPDX-License-Identifier: MPL-2.0 --> diff --git a/frontend/src/lib/play/circular_progress.svelte b/frontend/src/lib/play/circular_progress.svelte index 5df1e58..dadc853 100644 --- a/frontend/src/lib/play/circular_progress.svelte +++ b/frontend/src/lib/play/circular_progress.svelte @@ -5,8 +5,6 @@ SPDX-License-Identifier: MPL-2.0 --> diff --git a/frontend/src/lib/play/end.svelte b/frontend/src/lib/play/end.svelte index 525fa62..c5408bc 100644 --- a/frontend/src/lib/play/end.svelte +++ b/frontend/src/lib/play/end.svelte @@ -5,8 +5,6 @@ SPDX-License-Identifier: MPL-2.0 -->
- Every number between {solution.answers.min_correct} and {solution.answers - .max_correct} was correct. You got {selected_answer}, so you have been - {#if solution.answers.min_correct <= parseInt(selected_answer) && parseInt(selected_answer) <= solution.answers.max_correct} - correct - {:else} - wrong. - {/if} -
- {/if} {:else if question.type === QuizQuestionType.ORDER} {/if}+{score_by_username[username] ?? '0'}
-Total score: {scores[username] ?? '0'}
+Total score: {sorted_scores[username] ?? '0'}
| - {$t('words.answer')} - | -- {$t('words.count')} - | -- {$t('words.correct')} - | -
|---|---|---|
| - {answer.answer} - | -- {data_store[answer.answer]} - | -- {#if answer.right} - ✅ - {:else} - ❌ - {/if} - | -