From 8d8c524e948eb087ab3720e79f7f0b393b4bc26d Mon Sep 17 00:00:00 2001 From: Mawoka Date: Thu, 22 Dec 2022 17:54:22 +0100 Subject: [PATCH] :sparkles: Slides kinda working --- classquiz/db/models.py | 1 - classquiz/socket_server/__init__.py | 2 + frontend/src/lib/admin.svelte | 96 +++++++++++-------- frontend/src/lib/editor/slide.svelte | 2 +- .../lib/editor/slides/types/headline.svelte | 17 +++- .../src/lib/editor/slides/types/text.svelte | 15 ++- frontend/src/lib/play/admin/slide.svelte | 42 ++++++++ 7 files changed, 118 insertions(+), 57 deletions(-) create mode 100644 frontend/src/lib/play/admin/slide.svelte diff --git a/classquiz/db/models.py b/classquiz/db/models.py index 8809d2e..63c74d6 100644 --- a/classquiz/db/models.py +++ b/classquiz/db/models.py @@ -140,7 +140,6 @@ class QuizQuestion(BaseModel): @validator("answers") def answers_not_none_if_abcd_type(cls, v, values): - print(values) if values["type"] == QuizQuestionType.ABCD and type(v[0]) != ABCDQuizAnswer: raise ValueError("Answers can't be none if type is ABCD") if values["type"] == QuizQuestionType.RANGE and type(v) != RangeQuizAnswer: diff --git a/classquiz/socket_server/__init__.py b/classquiz/socket_server/__init__.py index 6a3b7e7..b0128f8 100644 --- a/classquiz/socket_server/__init__.py +++ b/classquiz/socket_server/__init__.py @@ -230,6 +230,8 @@ async def set_question_number(sid, data: str): await redis.set(f"game:{session['game_pin']}", game_data.json()) await redis.set(f"game:{session['game_pin']}:current_time", datetime.now().isoformat()) temp_return = game_data.dict(include={"questions"})["questions"][int(float(data))] + if game_data.questions[int(float(data))].type == QuizQuestionType.SLIDE: + return if game_data.questions[int(float(data))].type == QuizQuestionType.VOTING: for i in range(len(temp_return["answers"])): temp_return["answers"][i] = VotingQuizAnswer(**temp_return["answers"][i]) diff --git a/frontend/src/lib/admin.svelte b/frontend/src/lib/admin.svelte index 1d63a18..e3bf4a0 100644 --- a/frontend/src/lib/admin.svelte +++ b/frontend/src/lib/admin.svelte @@ -87,14 +87,14 @@ timer_res = seconds.toString(); }, 1000); }; - let circular_prgoress = 0; + let circular_progress = 0; $: { try { - circular_prgoress = + circular_progress = 1 - ((100 / quiz_data.questions[selected_question].time) * parseInt(timer_res)) / 100; } catch { - circular_prgoress = 0; + circular_progress = 0; } } @@ -126,7 +126,7 @@ {/if} {#if question_results === null && selected_question !== -1} - + {/if} {:else if selected_question !== -1} --> {#if el.type === ElementTypes.Text} - + {:else if el.type === ElementTypes.Headline} {/if} diff --git a/frontend/src/lib/editor/slides/types/headline.svelte b/frontend/src/lib/editor/slides/types/headline.svelte index 5285a71..6ef78da 100644 --- a/frontend/src/lib/editor/slides/types/headline.svelte +++ b/frontend/src/lib/editor/slides/types/headline.svelte @@ -5,10 +5,17 @@ --> - +{#if editor} + +{:else} +

+ {data} +

+{/if} diff --git a/frontend/src/lib/editor/slides/types/text.svelte b/frontend/src/lib/editor/slides/types/text.svelte index 6990f86..340fb06 100644 --- a/frontend/src/lib/editor/slides/types/text.svelte +++ b/frontend/src/lib/editor/slides/types/text.svelte @@ -4,13 +4,12 @@ - file, You can obtain one at https://mozilla.org/MPL/2.0/. --> - - -