diff --git a/classquiz/db/models.py b/classquiz/db/models.py index 569573f..4bc6f36 100644 --- a/classquiz/db/models.py +++ b/classquiz/db/models.py @@ -121,6 +121,7 @@ class QuizQuestion(BaseModel): type: None | QuizQuestionType = QuizQuestionType.ABCD answers: list[ABCDQuizAnswer] | RangeQuizAnswer | list[TextQuizAnswer] | list[VotingQuizAnswer] | str image: str | None = None + hide_results: bool | None = False @validator("answers") def answers_not_none_if_abcd_type(cls, v, values): diff --git a/frontend/src/lib/admin.svelte b/frontend/src/lib/admin.svelte index 8f1f97a..f7fff54 100644 --- a/frontend/src/lib/admin.svelte +++ b/frontend/src/lib/admin.svelte @@ -130,7 +130,7 @@ 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 && question_results !== null} + {#if timer_res === '0' && JSON.stringify(final_results) === JSON.stringify( [null] ) && quiz_data.questions[selected_question].type !== QuizQuestionType.SLIDE && question_results !== null && quiz_data.questions[selected_question]?.hide_results !== true} {#if question_results === undefined} {#if !final_results_clicked}
diff --git a/frontend/src/lib/editor/card.svelte b/frontend/src/lib/editor/card.svelte index fec573f..0663183 100644 --- a/frontend/src/lib/editor/card.svelte +++ b/frontend/src/lib/editor/card.svelte @@ -11,23 +11,27 @@ SPDX-License-Identifier: MPL-2.0 import { reach } from 'yup'; import { dataSchema } from '$lib/yupSchemas'; import Spinner from '../Spinner.svelte'; - // import { createTippy } from 'svelte-tippy'; + import { createTippy } from 'svelte-tippy'; import { getLocalization } from '$lib/i18n'; import MediaComponent from '$lib/editor/MediaComponent.svelte'; + import { fade } from 'svelte/transition'; + import BrownButton from '$lib/components/buttons/brown.svelte'; // import MediaComponent from "$lib/editor/MediaComponent.svelte"; const { t } = getLocalization(); - /* const tippy = createTippy({ - arrow: true, - animation: 'perspective-subtle', - placement: 'top' - });*/ + const tippy = createTippy({ + arrow: true, + animation: 'perspective-subtle', + placement: 'top' + }); export let data: EditorData; export let selected_question: number; export let edit_id: string; + let advanced_options_open = false; + let uppyOpen = false; let unique = {}; @@ -93,6 +97,33 @@ SPDX-License-Identifier: MPL-2.0 +
{#if data.questions[selected_question].type === QuizQuestionType.SLIDE} @@ -233,3 +264,22 @@ SPDX-License-Identifier: MPL-2.0 {/if} + +{#if advanced_options_open} +
+
+

{$t('editor.advanced_settings')}

+ +
+ (advanced_options_open = false)}>{$t('words.close')} +
+ +
+
+{/if} diff --git a/frontend/src/lib/i18n/locales/de.json b/frontend/src/lib/i18n/locales/de.json index e143dab..1bc6a15 100644 --- a/frontend/src/lib/i18n/locales/de.json +++ b/frontend/src/lib/i18n/locales/de.json @@ -231,7 +231,9 @@ "enter_answer": "Gib eine Antwort ein", "visit_docs": "Besuche die Dokumentation.", "enable_reorder": "Fragen Umsortieren", - "disable_reorder": "Umsortieren beenden" + "disable_reorder": "Umsortieren beenden", + "advanced_settings": "Erweiterte Einstellungen", + "hide_question_results": "Frageergebnisse ausblenden?" }, "import": { "need_help": "", diff --git a/frontend/src/lib/i18n/locales/en.json b/frontend/src/lib/i18n/locales/en.json index 3626535..65d2e89 100644 --- a/frontend/src/lib/i18n/locales/en.json +++ b/frontend/src/lib/i18n/locales/en.json @@ -226,7 +226,9 @@ "visit_docs": "Visit the docs.", "enter_answer": "Enter an answer", "enable_reorder": "Enable reorder mode", - "disable_reorder": "Disable reorder mode" + "disable_reorder": "Disable reorder mode", + "advanced_settings": "Advanced Settings", + "hide_question_results": "Hide question resuluts?" }, "import_page": { "need_help": "Need help?", diff --git a/frontend/src/lib/play/admin/controls.svelte b/frontend/src/lib/play/admin/controls.svelte index c216bc8..d7fb25c 100644 --- a/frontend/src/lib/play/admin/controls.svelte +++ b/frontend/src/lib/play/admin/controls.svelte @@ -79,6 +79,17 @@ SPDX-License-Identifier: MPL-2.0 class="admin-button" >{$t('admin_page.next_question', { question: selected_question + 2 })} + {:else if quiz_data.questions[selected_question]?.hide_results === true} + {:else}