@@ -46,7 +56,7 @@ SPDX-License-Identifier: MPL-2.0
class="ml-auto -mx-1.5 -my-1.5 bg-white text-gray-400 hover:text-gray-900 rounded-lg focus:ring-2 focus:ring-gray-300 p-1.5 hover:bg-gray-100 inline-flex h-8 w-8 dark:text-gray-500 dark:hover:text-white dark:bg-gray-800 dark:hover:bg-gray-700"
data-dismiss-target="#toast-default"
aria-label="Close"
- on:click={() => {
+ onclick={() => {
open = false;
}}
>
diff --git a/frontend/src/lib/dashboard/main_slider.svelte b/frontend/src/lib/dashboard/main_slider.svelte
deleted file mode 100644
index 3f7df95..0000000
--- a/frontend/src/lib/dashboard/main_slider.svelte
+++ /dev/null
@@ -1,413 +0,0 @@
-
-
-
-
-{#if copy_toast_open || game_in_lobby}
-
-
-
- {#if copy_toast_open}ID copied to clipboard!
- {:else}A game is currently in the lobby. Click
here to join as a remote.
- {/if}
-
-
-
-
-{/if}
-
-
-
- {#each quizzes as quiz, i}
-
-
-
-
-
-
-
-
- {@html quiz.title}
-
-
-
- {@html quiz.description}
-
- {#if quiz.cover_image}
-
-
-

-
-
- {/if}
-
-
-
-
- {@html quiz.title}
-
-
-
-
-
- {quiz.questions.length}
- {$t('words.question', { count: quiz.questions.length })}
-
-
-
- {#if quiz.public}
-
-
{$t('words.public')}
- {:else}
-
-
{$t('words.private')}
- {/if}
-
-
-
-
{$t('words.edit')}
-
{
- start_game = quiz.id;
- }}
- >
- {$t('words.start')}
-
-
{
- deleteQuiz(quiz.id);
- }}
- flex={true}
- >
-
-
-
-
-
-
-
-
-
-
{
- copy_id(quiz.id);
- }}
- >
- {quiz.id}
-
-
-
- {#each quiz.questions as question, q}
-
-
-
- {@html question.question}
-
- {#if question.image}
-
{
- visibleImages[i][q] = true;
- }}
- on:exitViewport={() => {
- visibleImages[i][q] = false;
- }}
- class="flex justify-center align-middle items-center"
- >
-
- {#if visibleImages?.[i]?.[q]}
-

- {/if}
-
-
- {/if}
-
-
- {question.time}s
-
- {#if question.type === QuizQuestionType.ABCD || question.type === undefined}
-
- {#each question.answers as answer, index_answer}
-
-
- {answer.answer}
-
-
- {/each}
-
- {:else if question.type === QuizQuestionType.RANGE}
-
- All numbers between {question.answers.min_correct}
- and {question.answers.max_correct} are correct, where
- numbers between {question.answers.min} and {question
- .answers.max} can be selected.
-
- {:else if question.type === QuizQuestionType.VOTING}
-
- {#each question.answers as answer}
-
-
- {answer.answer}
-
-
- {/each}
-
- {:else if question.type === QuizQuestionType.ORDER}
-
- {#each question.answers as answer}
- -
-
- {answer.answer}
-
-
- {/each}
-
- {:else if question.type === QuizQuestionType.SLIDE}
-
{
- visibleImages[i][q] = true;
- }}
- on:exitViewport={() => {
- visibleImages[i][q] = false;
- }}
- class="flex justify-center align-middle items-center"
- >
- {#await import('$lib/play/admin/slide.svelte')}
-
- {:then c}
-
-
-
- {/await}
-
- {/if}
-
-
- {/each}
-
-
-
-
- {/each}
-
-
-
-{#if start_game !== null}
-
-{/if}
diff --git a/frontend/src/lib/dashboard/start_game.svelte b/frontend/src/lib/dashboard/start_game.svelte
index db8c294..3e99827 100644
--- a/frontend/src/lib/dashboard/start_game.svelte
+++ b/frontend/src/lib/dashboard/start_game.svelte
@@ -15,13 +15,13 @@ SPDX-License-Identifier: MPL-2.0
import { getLocalization } from '$lib/i18n';
const { t } = getLocalization();
- export let quiz_id;
- let captcha_selected = false;
- let selected_game_mode = 'kahoot';
- let loading = false;
- let custom_field = '';
- let cqcs_enabled = false;
- let randomized_answers = false;
+ let { quiz_id = $bindable() } = $props();
+ let captcha_selected = $state(false);
+ let selected_game_mode = $state('kahoot');
+ let loading = $state(false);
+ let custom_field = $state('');
+ let cqcs_enabled = $state(false);
+ let randomized_answers = $state(false);
const tippy = createTippy({
arrow: true,
@@ -94,9 +94,9 @@ SPDX-License-Identifier: MPL-2.0
+ class="w-14 h-7 bg-gray-200 peer-focus:outline-hidden peer-focus:ring-4 peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 rounded-full peer dark:bg-gray-700 peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-0.5 after:left-[4px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-6 after:w-6 after:transition-all dark:border-gray-600 peer-checked:bg-blue-600"
+ >
Captcha {captcha_selected ? 'enabled' : 'disabled'}
{#if captcha_selected}
-
+
{$t('start_game.captcha_message')}
@@ -136,7 +136,7 @@ SPDX-License-Identifier: MPL-2.0
{
+ onclick={() => {
selected_game_mode = 'kahoot';
}}
>
@@ -148,7 +148,7 @@ SPDX-License-Identifier: MPL-2.0
{
+ onclick={() => {
selected_game_mode = 'normal';
}}
>
@@ -162,7 +162,7 @@ SPDX-License-Identifier: MPL-2.0
@@ -175,8 +175,8 @@ SPDX-License-Identifier: MPL-2.0
class="sr-only peer"
/>
+ class="w-14 h-7 bg-gray-200 peer-focus:outline-hidden peer-focus:ring-4 peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 rounded-full peer dark:bg-gray-700 peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-0.5 after:left-[4px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-6 after:w-6 after:transition-all dark:border-gray-600 peer-checked:bg-blue-600"
+ >
+ class="w-14 h-7 bg-gray-200 peer-focus:outline-hidden peer-focus:ring-4 peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 rounded-full peer dark:bg-gray-700 peer-checked:after:translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-0.5 after:left-[4px] after:bg-white after:border-gray-300 after:border after:rounded-full after:h-6 after:w-6 after:transition-all dark:border-gray-600 peer-checked:bg-blue-600"
+ >
Randomize answers