diff --git a/classquiz/routers/quiz.py b/classquiz/routers/quiz.py index e14294e..3650d54 100644 --- a/classquiz/routers/quiz.py +++ b/classquiz/routers/quiz.py @@ -311,4 +311,4 @@ async def set_next_question(game_pin: int, question_number: int): redis_res = await redis.get(f"game:{game_pin}") if redis_res is None: raise HTTPException(status_code=404, detail="Game not found") - sio.emit("set_question_number", question_number, room=game_pin) + await sio.emit("set_question_number", question_number, room=game_pin) diff --git a/frontend/src/lib/admin.svelte b/frontend/src/lib/admin.svelte index e306e6f..6930701 100644 --- a/frontend/src/lib/admin.svelte +++ b/frontend/src/lib/admin.svelte @@ -11,6 +11,7 @@ import { socket } from './socket'; import { QuizQuestionType } from '$lib/quiz_types'; import { kahoot_icons } from './play/kahoot_mode_assets/kahoot_icons'; + import CircularTimer from '$lib/play/circular_progress.svelte'; export let game_token: string; export let quiz_data: QuizData; @@ -27,7 +28,7 @@ console.log(quiz_data); - const set_question_number = (q_number: number) => { + export const set_question_number = (q_number: number) => { question_results = null; socket.emit('set_question_number', q_number.toString()); shown_question_now = q_number; @@ -74,145 +75,205 @@ timer_res = seconds.toString(); }, 1000); }; + let circular_prgoress = 0; + $: { + try { + circular_prgoress = + 1 - + ((100 / quiz_data.questions[selected_question].time) * parseInt(timer_res)) / 100; + } catch {} + } -{#if timer_res !== undefined && !final_results_clicked} -
+ {selected_question === -1 ? '0' : selected_question + 1} + /{quiz_data.questions.length} +
+ {#if selected_question >= 0} +{timer_res}
| - {$t('words.username')} - | -- {$t('words.answer')} - | -- {$t('words.correct')}? - | -
|---|---|---|
| - {result.username} - | -- {result.answer} - | -- {#if result.right} - ✅ - {:else} - ❌ - {/if} - | -
| + {$t('words.username')} + | ++ {$t('words.answer')} + | ++ {$t('words.correct')}? + | +
|---|---|---|
| + {result.username} + | ++ {result.answer} + | ++ {#if result.right} + ✅ + {:else} + ❌ + {/if} + | +