Most dependencies updated, except Svelte
This commit is contained in:
@@ -216,12 +216,12 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<h2 class="text-center text-5xl mb-6">{$t('index_page.how_does_classquiz_work')}</h2>
|
||||
|
||||
<div class="flex justify-center w-full">
|
||||
<h3 class="text-center text-3xl rounded-t-lg bg-opacity-40 bg-white py-2 px-6">
|
||||
<h3 class="text-center text-3xl rounded-t-lg bg-white/40 py-2 px-6">
|
||||
{$t('index_page.get_a_quiz')}
|
||||
</h3>
|
||||
</div>
|
||||
<div
|
||||
class="grid grid-rows-2 lg:grid-rows-1 lg:grid-cols-2 bg-opacity-40 bg-white shadow-lg mb-12 lg:mx-12 mx-4 rounded-lg"
|
||||
class="grid grid-rows-2 lg:grid-rows-1 lg:grid-cols-2 bg-white/40 shadow-lg mb-12 lg:mx-12 mx-4 rounded-lg"
|
||||
>
|
||||
<div>
|
||||
<div class="p-2 rounded-lg">
|
||||
@@ -229,21 +229,21 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<img
|
||||
class="rounded-lg relative"
|
||||
src={EditScreenshot}
|
||||
in:fade
|
||||
in:fade|global
|
||||
alt="Screenshot of the import-page showing an URL to Kahoot! entered"
|
||||
/>
|
||||
{:else if selected_create_thing === SelectedCreateThing.Find}
|
||||
<img
|
||||
class="rounded-lg relative"
|
||||
src={FindScreenshot}
|
||||
in:fade
|
||||
in:fade|global
|
||||
alt="Screenshot of the search-page showing one found quiz for the term 'Country'"
|
||||
/>
|
||||
{:else if selected_create_thing === SelectedCreateThing.Import}
|
||||
<img
|
||||
class="rounded-lg relative"
|
||||
src={ImportScreenshot}
|
||||
in:fade
|
||||
in:fade|global
|
||||
alt="Screenshot of the import-page showing an URL to Kahoot! entered"
|
||||
/>
|
||||
{:else}
|
||||
@@ -255,7 +255,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
class="lg:border-l lg:border-l-black lg:border-t-0 border-t border-t-black flex lg:flex-col flex-row stretch"
|
||||
>
|
||||
<div
|
||||
class="m-2 rounded-lg p-2 bg-opacity-40 bg-white transition-all cursor-pointer lg:h-full"
|
||||
class="m-2 rounded-lg p-2 bg-white/40 transition-all cursor-pointer lg:h-full"
|
||||
on:click={() => {
|
||||
selected_create_thing = SelectedCreateThing.Create;
|
||||
}}
|
||||
@@ -288,7 +288,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<p class="dark:text-black">{$t('index_page.create_a_quiz_from_scratch')}</p>
|
||||
</div>
|
||||
<div
|
||||
class="m-2 rounded-lg p-2 bg-opacity-40 bg-white transition-all cursor-pointer lg:h-full"
|
||||
class="m-2 rounded-lg p-2 bg-white/40 transition-all cursor-pointer lg:h-full"
|
||||
on:click={() => {
|
||||
selected_create_thing = SelectedCreateThing.Find;
|
||||
}}
|
||||
@@ -358,13 +358,13 @@ SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
<section class="mt-24">
|
||||
<div class="flex justify-center w-full">
|
||||
<h2 class="text-center text-3xl rounded-t-lg bg-opacity-40 bg-white py-2 px-6">
|
||||
<h2 class="text-center text-3xl rounded-t-lg bg-white/40 py-2 px-6">
|
||||
{$t('index_page.play_quiz')}
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="grid grid-rows-2 lg:grid-rows-1 lg:grid-cols-2 bg-opacity-40 bg-white shadow-lg mb-12 lg:mx-12 mx-4 rounded-lg"
|
||||
class="grid grid-rows-2 lg:grid-rows-1 lg:grid-cols-2 bg-white/40 shadow-lg mb-12 lg:mx-12 mx-4 rounded-lg"
|
||||
>
|
||||
<div>
|
||||
<div class="p-2 rounded-lg">
|
||||
@@ -372,21 +372,21 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<img
|
||||
class="rounded-lg relative"
|
||||
src={SelectScreenshot}
|
||||
in:fade
|
||||
in:fade|global
|
||||
alt="Screenshot of the screen where an answer can be selected"
|
||||
/>
|
||||
{:else if selected_play_thing === SelectedPlayThing.Results}
|
||||
<img
|
||||
class="rounded-lg relative"
|
||||
src={ResultScreenshot}
|
||||
in:fade
|
||||
in:fade|global
|
||||
alt="Screenshot of the results with a table showing how many players chose which answer"
|
||||
/>
|
||||
{:else if selected_play_thing === SelectedPlayThing.Winners}
|
||||
<img
|
||||
class="rounded-lg relative"
|
||||
src={WinnersScreenshot}
|
||||
in:fade
|
||||
in:fade|global
|
||||
alt="Screenshot of the import-page showing an URL to Kahoot! entered"
|
||||
/>
|
||||
{:else}
|
||||
@@ -398,7 +398,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
class="lg:border-l lg:border-l-black lg:border-t-0 border-t border-t-black flex lg:flex-col flex-row stretch"
|
||||
>
|
||||
<div
|
||||
class="m-2 rounded-lg p-2 bg-opacity-40 bg-white transition-all cursor-pointer lg:h-full"
|
||||
class="m-2 rounded-lg p-2 bg-white/40 transition-all cursor-pointer lg:h-full"
|
||||
on:click={() => {
|
||||
selected_play_thing = SelectedPlayThing.Select;
|
||||
}}
|
||||
@@ -431,7 +431,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<p class="dark:text-black">{$t('index_page.choose_answer_wisely')}</p>
|
||||
</div>
|
||||
<div
|
||||
class="m-2 rounded-lg p-2 bg-opacity-40 bg-white transition-all cursor-pointer lg:h-full"
|
||||
class="m-2 rounded-lg p-2 bg-white/40 transition-all cursor-pointer lg:h-full"
|
||||
on:click={() => {
|
||||
selected_play_thing = SelectedPlayThing.Results;
|
||||
}}
|
||||
@@ -464,7 +464,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<p class="dark:text-black">{$t('index_page.check_if_chosen_wisely')}</p>
|
||||
</div>
|
||||
<div
|
||||
class="m-2 rounded-lg p-2 bg-opacity-40 bg-white transition-all cursor-pointer lg:h-full"
|
||||
class="m-2 rounded-lg p-2 bg-white/40 transition-all cursor-pointer lg:h-full"
|
||||
on:click={() => {
|
||||
selected_play_thing = SelectedPlayThing.Winners;
|
||||
}}
|
||||
@@ -502,13 +502,13 @@ SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
<section class="mt-24">
|
||||
<div class="flex justify-center w-full">
|
||||
<h2 class="text-center text-3xl rounded-t-lg bg-opacity-40 bg-white py-2 px-6">
|
||||
<h2 class="text-center text-3xl rounded-t-lg bg-white/40 py-2 px-6">
|
||||
{$t('index_page.why_classquiz')}
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="grid grid-rows-2 lg:grid-rows-1 lg:grid-cols-2 bg-opacity-40 bg-white shadow-lg mb-12 lg:mx-12 mx-4 rounded-lg"
|
||||
class="grid grid-rows-2 lg:grid-rows-1 lg:grid-cols-2 bg-white/40 shadow-lg mb-12 lg:mx-12 mx-4 rounded-lg"
|
||||
>
|
||||
<div>
|
||||
<div class="p-12 rounded-lg flex justify-center items-center h-full">
|
||||
@@ -522,7 +522,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
>
|
||||
{#each classquiz_reasons as reason, index}
|
||||
<div
|
||||
class="m-2 rounded-lg p-2 bg-opacity-40 bg-white transition-all cursor-pointer lg:h-full"
|
||||
class="m-2 rounded-lg p-2 bg-white/40 transition-all cursor-pointer lg:h-full"
|
||||
on:click={() => {
|
||||
selected_classquiz_reason = index;
|
||||
}}
|
||||
@@ -542,7 +542,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
{#if newsletterModalOpen}
|
||||
<div
|
||||
class="fixed bottom-8 right-5 bg-white rounded-lg h-fit w-11/12 ml-5 lg:w-2/12 z-50 p-2 bg-white dark:bg-gray-700"
|
||||
transition:fly
|
||||
transition:fly|global
|
||||
>
|
||||
<Newsletter bind:open={newsletterModalOpen} />
|
||||
</div>
|
||||
|
||||
@@ -93,7 +93,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<h2 class="text-2xl mx-auto">{$t('controllers.controller_name')}</h2>
|
||||
<div class="mx-auto flex">
|
||||
<input
|
||||
class="rounded p-1 transition-all outline-none text-center dark:bg-gray-700"
|
||||
class="rounded-sm p-1 transition-all outline-hidden text-center dark:bg-gray-700"
|
||||
bind:value={controller.name}
|
||||
on:keyup={save_player_name_debounce}
|
||||
/>
|
||||
@@ -104,7 +104,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<h2 class="mx-auto text-2xl">{$t('controllers.player_name')}</h2>
|
||||
<div class="mx-auto flex">
|
||||
<input
|
||||
class="rounded p-1 transition-all outline-none text-center dark:bg-gray-700"
|
||||
class="rounded-sm p-1 transition-all outline-hidden text-center dark:bg-gray-700"
|
||||
bind:value={controller.player_name}
|
||||
on:keyup={save_player_name_debounce}
|
||||
/>
|
||||
|
||||
@@ -59,7 +59,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
id="player_name"
|
||||
name="player_name"
|
||||
type="text"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-none focus:border-rose-600"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-hidden focus:border-rose-600"
|
||||
class:ring-red-700={input_data.player_name.length === 0}
|
||||
class:ring-green-600={input_data.player_name.length !== 0}
|
||||
bind:value={input_data.player_name}
|
||||
@@ -78,7 +78,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
id="name"
|
||||
name="name"
|
||||
type="text"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-none focus:border-rose-600"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-hidden focus:border-rose-600"
|
||||
placeholder="Name"
|
||||
class:ring-red-700={input_data.name.length === 0}
|
||||
class:ring-green-600={input_data.name.length !== 0}
|
||||
@@ -95,7 +95,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
<div class="flex items-center justify-center mt-4">
|
||||
<button
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded hover:bg-gray-600 focus:outline-none"
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded-sm hover:bg-gray-600 focus:outline-hidden"
|
||||
disabled={!isValid || isSubmitting}
|
||||
class:cursor-not-allowed={!isValid || isSubmitting}
|
||||
class:opacity-50={!isValid || isSubmitting}
|
||||
|
||||
@@ -93,32 +93,32 @@ SPDX-License-Identifier: MPL-2.0
|
||||
>
|
||||
{#if step === 0}
|
||||
<!-- <p>StartWindow</p>-->
|
||||
<div transition:slide>
|
||||
<div transition:slide|global>
|
||||
<StartWindow bind:session_data bind:step />
|
||||
</div>
|
||||
{:else if selected_method === null}
|
||||
<!-- <p>SelectWindow</p>-->
|
||||
<div transition:slide>
|
||||
<div transition:slide|global>
|
||||
<SelectMethod bind:session_data bind:step bind:selected_method />
|
||||
</div>
|
||||
{:else if selected_method === 'PASSWORD'}
|
||||
<!-- <p>PasswordWindow</p>-->
|
||||
<div transition:slide>
|
||||
<div transition:slide|global>
|
||||
<PasswordComponent bind:session_data bind:done bind:step bind:selected_method />
|
||||
</div>
|
||||
{:else if selected_method === 'PASSKEY'}
|
||||
<!-- <p>WebauthnWindow</p>-->
|
||||
<div transition:slide>
|
||||
<div transition:slide|global>
|
||||
<WebauthnComponent bind:session_data bind:done bind:step bind:selected_method />
|
||||
</div>
|
||||
{:else if selected_method === 'BACKUP'}
|
||||
<!-- <p>BackupWindow</p>-->
|
||||
<div transition:slide>
|
||||
<div transition:slide|global>
|
||||
<BackupComponent bind:session_data bind:done bind:step bind:selected_method />
|
||||
</div>
|
||||
{:else if selected_method === 'TOTP'}
|
||||
<!-- <p>TotpWindow</p>-->
|
||||
<div transition:slide>
|
||||
<div transition:slide|global>
|
||||
<TotpComponent bind:session_data bind:done bind:step bind:selected_method />
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
@@ -53,7 +53,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
bind:value={backup_code}
|
||||
name="backup_code"
|
||||
type="text"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-none focus:border-rose-600"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-hidden focus:border-rose-600"
|
||||
placeholder={$t('words.backup_code')}
|
||||
/>
|
||||
<label
|
||||
@@ -73,7 +73,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
>{$t('login_page.use_backup_code')}</button
|
||||
>
|
||||
<button
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded hover:bg-gray-600 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50"
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded-sm hover:bg-gray-600 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50"
|
||||
disabled={!backup_code_valid}
|
||||
type="submit"
|
||||
>
|
||||
|
||||
@@ -65,7 +65,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
bind:value={password}
|
||||
name="password"
|
||||
type="password"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-none focus:border-rose-600"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-hidden focus:border-rose-600"
|
||||
placeholder={$t('words.password')}
|
||||
autocomplete="current-password"
|
||||
/>
|
||||
@@ -86,7 +86,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
>{$t('login_page.use_backup_code')}</button
|
||||
>
|
||||
<button
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded hover:bg-gray-600 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50"
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded-sm hover:bg-gray-600 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50"
|
||||
disabled={!password}
|
||||
type="submit"
|
||||
>
|
||||
|
||||
@@ -4,8 +4,6 @@ SPDX-FileCopyrightText: 2023 Marlon W (Mawoka)
|
||||
SPDX-License-Identifier: MPL-2.0
|
||||
-->
|
||||
|
||||
|
||||
|
||||
<script lang="ts">
|
||||
import { getLocalization } from '$lib/i18n';
|
||||
import OAuthBlock from './oauth_block.svelte';
|
||||
@@ -58,7 +56,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
bind:value={email}
|
||||
name="email"
|
||||
type="text"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-none focus:border-rose-600"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-hidden focus:border-rose-600"
|
||||
placeholder={$t('login_page.email_or_username')}
|
||||
autocomplete="email"
|
||||
/>
|
||||
@@ -78,7 +76,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
>
|
||||
|
||||
<button
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded hover:bg-gray-600 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50"
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded-sm hover:bg-gray-600 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50"
|
||||
disabled={emailEmpty}
|
||||
type="submit"
|
||||
>
|
||||
|
||||
@@ -79,7 +79,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
bind:value={totp}
|
||||
name="totp"
|
||||
type="text"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-none focus:border-rose-600"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-hidden focus:border-rose-600"
|
||||
placeholder={$t('words.totp')}
|
||||
autocomplete="one-time-code"
|
||||
/>
|
||||
@@ -100,7 +100,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
>{$t('login_page.use_backup_code')}</button
|
||||
>
|
||||
<button
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded hover:bg-gray-600 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50"
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded-sm hover:bg-gray-600 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50"
|
||||
disabled={!totp_valid}
|
||||
type="submit"
|
||||
>
|
||||
|
||||
@@ -91,7 +91,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
>{$t('login_page.use_backup_code')}</button
|
||||
>
|
||||
<button
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded hover:bg-gray-600 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50"
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded-sm hover:bg-gray-600 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50"
|
||||
disabled={isLoading}
|
||||
on:click={start_thing}
|
||||
>
|
||||
|
||||
@@ -28,7 +28,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<div class="flex justify-center w-full pt-10">
|
||||
<a
|
||||
href="/account/login"
|
||||
class="px-4 py-2 leading-5 text-black dark:text-white transition-colors duration-200 transform bg-gray-50 dark:bg-gray-700 rounded text-center hover:bg-gray-600 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50"
|
||||
class="px-4 py-2 leading-5 text-black dark:text-white transition-colors duration-200 transform bg-gray-50 dark:bg-gray-700 rounded-sm text-center hover:bg-gray-600 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50"
|
||||
>
|
||||
Go back to login-page
|
||||
</a>
|
||||
|
||||
@@ -82,7 +82,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
bind:value={passwordData.password1}
|
||||
name="password1"
|
||||
type="password"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-none focus:border-rose-600"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-hidden focus:border-rose-600"
|
||||
placeholder={$t('words.password')}
|
||||
/>
|
||||
<label
|
||||
@@ -100,7 +100,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
name="password2"
|
||||
type="password"
|
||||
bind:value={passwordData.password2}
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-none focus:border-rose-600"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-hidden focus:border-rose-600"
|
||||
placeholder={$t('words.repeat_password')}
|
||||
/>
|
||||
<label
|
||||
@@ -120,7 +120,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
>
|
||||
|
||||
<button
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded hover:bg-gray-600 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50"
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded-sm hover:bg-gray-600 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50"
|
||||
disabled={!passwordsValid}
|
||||
type="submit"
|
||||
>
|
||||
|
||||
@@ -106,7 +106,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
id="email"
|
||||
name="email"
|
||||
type="email"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-none focus:border-rose-600"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-hidden focus:border-rose-600"
|
||||
placeholder={$t('words.email')}
|
||||
class:ring-red-700={$errors.email !== null}
|
||||
class:ring-green-600={$touched.email === true &&
|
||||
@@ -126,7 +126,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
id="username"
|
||||
name="username"
|
||||
type="text"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-none focus:border-rose-600"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-hidden focus:border-rose-600"
|
||||
placeholder={$t('words.username')}
|
||||
class:ring-red-700={$errors.username !== null}
|
||||
class:ring-green-600={$touched.username === true &&
|
||||
@@ -149,7 +149,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
class:ring-red-700={$errors.password1 !== null}
|
||||
class:ring-green-600={$touched.password1 === true &&
|
||||
$errors.password1 === null}
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-none focus:border-rose-600"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-hidden focus:border-rose-600"
|
||||
placeholder={$t('words.password')}
|
||||
/>
|
||||
<label
|
||||
@@ -166,7 +166,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
id="password2"
|
||||
name="password2"
|
||||
type="password"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-none focus:border-rose-600"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-hidden focus:border-rose-600"
|
||||
placeholder={$t('words.password')}
|
||||
class:ring-red-700={$errors.password2 !== null}
|
||||
class:ring-green-600={$touched.password2 === true &&
|
||||
@@ -181,7 +181,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="ring-1 ring-gray-500 focus:outline-none rounded-lg m-4 py-2"
|
||||
class="ring-1 ring-gray-500 focus:outline-hidden rounded-lg m-4 py-2"
|
||||
class:ring-red-700={$errors.privacy_accept !== null}
|
||||
class:ring-green-600={$touched.privacy_accept === true &&
|
||||
$errors.privacy_accept === null}
|
||||
@@ -195,7 +195,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
</label>
|
||||
</div>
|
||||
<div
|
||||
class="ring-1 ring-gray-500 focus:outline-none rounded-lg m-4 py-2"
|
||||
class="ring-1 ring-gray-500 focus:outline-hidden rounded-lg m-4 py-2"
|
||||
class:ring-red-700={$errors.tos_accept !== null}
|
||||
class:ring-green-600={$touched.tos_accept === true &&
|
||||
$errors.tos_accept === null}
|
||||
@@ -217,7 +217,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
>
|
||||
|
||||
<button
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded hover:bg-gray-600 focus:outline-none"
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded-sm hover:bg-gray-600 focus:outline-hidden"
|
||||
disabled={!$isValid || $isSubmitting}
|
||||
class:cursor-not-allowed={!$isValid || $isSubmitting}
|
||||
class:opacity-50={!$isValid || $isSubmitting}
|
||||
@@ -270,10 +270,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<div
|
||||
class="flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0"
|
||||
>
|
||||
<div
|
||||
class="fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity"
|
||||
aria-hidden="true"
|
||||
/>
|
||||
<div class="fixed inset-0 bg-gray-500/75 transition-opacity" aria-hidden="true" />
|
||||
|
||||
<!-- This element is to trick the browser into centering the modal contents. -->
|
||||
<span class="hidden sm:inline-block sm:align-middle sm:h-screen" aria-hidden="true"
|
||||
@@ -285,7 +282,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4">
|
||||
<div class="sm:flex sm:items-start">
|
||||
<div
|
||||
class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10"
|
||||
class="mx-auto shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10"
|
||||
>
|
||||
<!-- Heroicon name: outline/exclamation -->
|
||||
{#if responseData.data === '409' || responseData.data === 'error' || responseData.data === '400'}
|
||||
@@ -362,7 +359,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
responseData.open = false;
|
||||
window.location.assign('/');
|
||||
}}
|
||||
class="mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-sm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:ml-3 sm:w-auto sm:text-sm"
|
||||
class="mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-xm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:ml-3 sm:w-auto sm:text-sm"
|
||||
>{$t('words.close')}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -69,7 +69,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
bind:value={email}
|
||||
name="email"
|
||||
type="email"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-none focus:border-rose-600"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-hidden focus:border-rose-600"
|
||||
placeholder={$t('words.email')}
|
||||
/>
|
||||
<label
|
||||
@@ -89,7 +89,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
>
|
||||
|
||||
<button
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded hover:bg-gray-600 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50"
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded-sm hover:bg-gray-600 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50"
|
||||
disabled={email === ''}
|
||||
type="submit"
|
||||
>
|
||||
|
||||
@@ -184,21 +184,21 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<label
|
||||
>{$t('settings_page.old_password')}:<input
|
||||
type="password"
|
||||
class="m-2 text-black rounded p-1 dark:bg-gray-700 dark:text-white"
|
||||
class="m-2 text-black rounded-sm p-1 dark:bg-gray-700 dark:text-white"
|
||||
bind:value={changePasswordData.oldPassword}
|
||||
/></label
|
||||
>
|
||||
<label
|
||||
>{$t('settings_page.new_password')}:<input
|
||||
type="password"
|
||||
class="m-2 text-black rounded p-1 dark:bg-gray-700 dark:text-white"
|
||||
class="m-2 text-black rounded-sm p-1 dark:bg-gray-700 dark:text-white"
|
||||
bind:value={changePasswordData.newPassword}
|
||||
/></label
|
||||
>
|
||||
<label
|
||||
>{$t('settings_page.repeat_password')}:<input
|
||||
type="password"
|
||||
class="m-2 text-black rounded p-1 dark:bg-gray-700 dark:text-white"
|
||||
class="m-2 text-black rounded-sm p-1 dark:bg-gray-700 dark:text-white"
|
||||
bind:value={changePasswordData.newPasswordConfirm}
|
||||
/></label
|
||||
>
|
||||
|
||||
@@ -123,7 +123,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
>
|
||||
<img
|
||||
src={get_image_url({ ...data, [data_keys[index]]: key })}
|
||||
in:fade={{ duration: 100 }}
|
||||
in:fade|global={{ duration: 100 }}
|
||||
/>
|
||||
</button>
|
||||
{/each}
|
||||
@@ -133,17 +133,19 @@ SPDX-License-Identifier: MPL-2.0
|
||||
</div>
|
||||
{#if finished}
|
||||
<div
|
||||
class="fixed top-0 left-0 w-full h-full z-30 bg-black flex justify-center flex-col bg-opacity-90"
|
||||
out:fade={{ duration: 200 }}
|
||||
in:fade={{ duration: 300 }}
|
||||
class="fixed top-0 left-0 w-full h-full z-30 bg-black/90 flex justify-center flex-col"
|
||||
out:fade|global={{ duration: 200 }}
|
||||
in:fade|global={{ duration: 300 }}
|
||||
>
|
||||
<h1 class="m-auto text-4xl" in:fade={{ delay: 3500 }}>{$t('avatar_settings.thats_you')}</h1>
|
||||
<h1 class="m-auto text-4xl" in:fade|global={{ delay: 3500 }}>
|
||||
{$t('avatar_settings.thats_you')}
|
||||
</h1>
|
||||
<img
|
||||
class="m-auto w-1/2 h-1/2 z-20"
|
||||
src={get_image_url(data)}
|
||||
in:fly={{ delay: 500, duration: 4000, y: -500, easing: bounceOut }}
|
||||
in:fly|global={{ delay: 500, duration: 4000, y: -500, easing: bounceOut }}
|
||||
/>
|
||||
<div class="m-auto grid grid-cols-2 gap-4" in:fade={{ delay: 3500 }}>
|
||||
<div class="m-auto grid grid-cols-2 gap-4" in:fade|global={{ delay: 3500 }}>
|
||||
<BrownButton
|
||||
on:click={() => {
|
||||
index = 0;
|
||||
|
||||
@@ -183,7 +183,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
type="button"
|
||||
role="switch"
|
||||
aria-checked="true"
|
||||
class="relative inline-flex h-5 w-8 shrink-0 cursor-pointer appearance-none rounded-full border-2 border-transparent bg-blue-700 transition focus:outline-none focus:ring focus:ring-blue-200"
|
||||
class="relative inline-flex h-5 w-8 shrink-0 cursor-pointer appearance-none rounded-full border-2 border-transparent bg-blue-700 transition focus:outline-hidden focus:ring focus:ring-blue-200"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
@@ -205,7 +205,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
}}
|
||||
role="switch"
|
||||
aria-checked="false"
|
||||
class="relative inline-flex h-5 w-8 shrink-0 cursor-pointer appearance-none rounded-full border-2 border-transparent bg-gray-200 transition focus:outline-none focus:ring focus:ring-blue-200"
|
||||
class="relative inline-flex h-5 w-8 shrink-0 cursor-pointer appearance-none rounded-full border-2 border-transparent bg-gray-200 transition focus:outline-hidden focus:ring focus:ring-blue-200"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
|
||||
@@ -27,7 +27,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
};
|
||||
</script>
|
||||
|
||||
<div class="w-screen h-screen fixed top-0 left-0 p-48 z-30 bg-black bg-opacity-50">
|
||||
<div class="w-screen h-screen fixed top-0 left-0 p-48 z-30 bg-black/50">
|
||||
<div class="w-full h-full">
|
||||
<button
|
||||
class="bg-gray-200 dark:bg-gray-900 px-2 py-1 rounded-t-lg hover:bg-gray-300 transition"
|
||||
|
||||
@@ -18,7 +18,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
};
|
||||
</script>
|
||||
|
||||
<div class="w-screen h-screen fixed top-0 left-0 p-48 z-30 bg-black bg-opacity-50">
|
||||
<div class="w-screen h-screen fixed top-0 left-0 p-48 z-30 bg-black/50">
|
||||
<div class="w-full h-full">
|
||||
<button
|
||||
class="bg-gray-200 dark:bg-gray-900 px-2 py-1 rounded-t-lg hover:bg-gray-300 transition"
|
||||
|
||||
@@ -71,10 +71,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<div
|
||||
class="flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0"
|
||||
>
|
||||
<div
|
||||
class="fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity"
|
||||
aria-hidden="true"
|
||||
/>
|
||||
<div class="fixed inset-0 bg-gray-500/75 transition-opacity" aria-hidden="true" />
|
||||
|
||||
<span class="hidden sm:inline-block sm:align-middle sm:h-screen" aria-hidden="true"
|
||||
>​</span
|
||||
@@ -85,7 +82,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4">
|
||||
<div class="sm:flex sm:items-start">
|
||||
<div
|
||||
class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10"
|
||||
class="mx-auto shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10"
|
||||
>
|
||||
<!-- Heroicon name: outline/exclamation -->
|
||||
<svg
|
||||
@@ -119,7 +116,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
on:click={() => {
|
||||
window.location.href = '/dashboard';
|
||||
}}
|
||||
class="mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-sm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:ml-3 sm:w-auto sm:text-sm"
|
||||
class="mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-xm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:ml-3 sm:w-auto sm:text-sm"
|
||||
>{$t('words.close')}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -119,14 +119,14 @@ SPDX-License-Identifier: MPL-2.0
|
||||
{:then quizzes}
|
||||
<div class="flex flex-col w-full mx-auto">
|
||||
<!-- <button
|
||||
class='px-4 py-2 font-medium tracking-wide text-gray-500 whitespace-nowrap dark:text-gray-400 capitalize transition-colors dark:bg-gray-700 duration-200 transform bg-[#B07156] rounded-md hover:bg-green-600 focus:outline-none focus:ring focus:ring-blue-300 focus:ring-opacity-80'>
|
||||
class='px-4 py-2 font-medium tracking-wide text-gray-500 whitespace-nowrap dark:text-gray-400 capitalize transition-colors dark:bg-gray-700 duration-200 transform bg-[#B07156] rounded-md hover:bg-green-600 focus:outline-hidden focus:ring focus:ring-blue-300 focus:ring-opacity-80'>
|
||||
Primary
|
||||
</button>-->
|
||||
<div class="w-full grid lg:grid-cols-4 gap-2 grid-cols-2 px-4">
|
||||
{#if create_button_clicked}
|
||||
<div
|
||||
class="flex gap-2"
|
||||
transition:fly={{ y: 10 }}
|
||||
transition:fly|global={{ y: 10 }}
|
||||
use:tippy={{ content: 'Unsure? Choose "Quiz".' }}
|
||||
>
|
||||
<BrownButton href="/create">{$t('words.quiz')}</BrownButton>
|
||||
@@ -155,7 +155,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<div>
|
||||
<input
|
||||
bind:value={search_term}
|
||||
class="p-2 rounded-lg outline-none text-center w-96 dark:bg-gray-700"
|
||||
class="p-2 rounded-lg outline-hidden text-center w-96 dark:bg-gray-700"
|
||||
placeholder={$t('dashboard.search_for_own_quizzes')}
|
||||
/>
|
||||
<button
|
||||
@@ -185,7 +185,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<div class="flex flex-col gap-4 mt-4 px-2">
|
||||
{#each items_to_show as quiz}
|
||||
<div
|
||||
class="grid grid-cols-2 lg:grid-cols-3 w-full rounded border-[#B07156] border-2 p-2 h-[20vh] overflow-hidden max-h-[20vh]"
|
||||
class="grid grid-cols-2 lg:grid-cols-3 w-full rounded-sm border-[#B07156] border-2 p-2 h-[20vh] overflow-hidden max-h-[20vh]"
|
||||
>
|
||||
<div class="hidden lg:flex w-auto h-full items-center relative">
|
||||
{#if quiz.cover_image}
|
||||
@@ -193,11 +193,11 @@ SPDX-License-Identifier: MPL-2.0
|
||||
src="/api/v1/storage/download/{quiz.cover_image}"
|
||||
alt="user provided"
|
||||
loading="lazy"
|
||||
class="shrink-0 max-w-full max-h-full absolute rounded"
|
||||
class="shrink-0 max-w-full max-h-full absolute rounded-sm"
|
||||
/>-->
|
||||
<MediaComponent
|
||||
src={quiz.cover_image}
|
||||
css_classes="shrink-0 max-w-full max-h-full absolute rounded"
|
||||
css_classes="shrink-0 max-w-full max-h-full absolute rounded-sm"
|
||||
/>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
@@ -32,12 +32,12 @@ SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
{#if quiz}
|
||||
<div
|
||||
class="fixed w-full h-full top-0 flex bg-black bg-opacity-50 z-50 overflow-scroll"
|
||||
class="fixed w-full h-full top-0 flex bg-black/50 z-50 overflow-scroll"
|
||||
on:click={on_parent_click}
|
||||
transition:fade|local={{ duration: 100 }}
|
||||
transition:fade={{ duration: 100 }}
|
||||
>
|
||||
<div
|
||||
class="m-auto bg-white dark:bg-gray-600 rounded shadow-2xl flex p-4 flex-col lg:w-2/3 w-11/12 h-5/6"
|
||||
class="m-auto bg-white dark:bg-gray-600 rounded-sm shadow-2xl flex p-4 flex-col lg:w-2/3 w-11/12 h-5/6"
|
||||
>
|
||||
<h1 class="text-center text-5xl">{$t('words.analytics')}</h1>
|
||||
<section class="flex flex-col gap-2 mt-8">
|
||||
|
||||
@@ -95,10 +95,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<div
|
||||
class="flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0"
|
||||
>
|
||||
<div
|
||||
class="fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity"
|
||||
aria-hidden="true"
|
||||
/>
|
||||
<div class="fixed inset-0 bg-gray-500/75 transition-opacity" aria-hidden="true" />
|
||||
|
||||
<span class="hidden sm:inline-block sm:align-middle sm:h-screen" aria-hidden="true"
|
||||
>​</span
|
||||
@@ -109,7 +106,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4">
|
||||
<div class="sm:flex sm:items-start">
|
||||
<div
|
||||
class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10"
|
||||
class="mx-auto shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-red-100 sm:mx-0 sm:h-10 sm:w-10"
|
||||
>
|
||||
<!-- Heroicon name: outline/exclamation -->
|
||||
<svg
|
||||
@@ -145,7 +142,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
on:click={() => {
|
||||
window.location.href = '/dashboard';
|
||||
}}
|
||||
class="mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-sm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:ml-3 sm:w-auto sm:text-sm"
|
||||
class="mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-xm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:ml-3 sm:w-auto sm:text-sm"
|
||||
>{$t('words.close')}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
@@ -61,7 +61,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<div class="grid grid-cols-1 lg:grid-cols-2 p-4 gap-4">
|
||||
{#each images as image}
|
||||
<div
|
||||
class="border-2 border-[#B07156] rounded p-2 grid grid-cols-2 hover:opacity-100 transition-all"
|
||||
class="border-2 border-[#B07156] rounded-sm p-2 grid grid-cols-2 hover:opacity-100 transition-all"
|
||||
class:opacity-40={image.quiztivities.length === 0 && image.quizzes.length === 0}
|
||||
>
|
||||
<img
|
||||
@@ -119,11 +119,11 @@ SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
{#if edit_popup}
|
||||
<div
|
||||
transition:fade|local={{ duration: 100 }}
|
||||
class="fixed top-0 left-0 h-screen w-screen z-40 flex bg-black bg-opacity-50"
|
||||
transition:fade={{ duration: 100 }}
|
||||
class="fixed top-0 left-0 h-screen w-screen z-40 flex bg-black/50"
|
||||
on:click={close_popup_handler}
|
||||
>
|
||||
<div class="w-auto h-auto m-auto rounded bg-white dark:bg-gray-700 p-4">
|
||||
<div class="w-auto h-auto m-auto rounded-sm bg-white dark:bg-gray-700 p-4">
|
||||
<h1 class="text-2xl text-center">{$t('file_dashboard.edit_the_image')}</h1>
|
||||
<form class="flex flex-col" on:submit|preventDefault={save_image_metadata}>
|
||||
<div class="flex flex-row">
|
||||
@@ -134,14 +134,14 @@ SPDX-License-Identifier: MPL-2.0
|
||||
</div>
|
||||
<div class="flex flex-col gap-3">
|
||||
<input
|
||||
class="rounded outline-none dark:bg-gray-500 p-0.5 border-4 border-transparent"
|
||||
class="rounded-sm outline-hidden dark:bg-gray-500 p-0.5 border-4 border-transparent"
|
||||
id="name"
|
||||
type="text"
|
||||
bind:value={edit_popup.filename}
|
||||
/>
|
||||
<input
|
||||
class:border-red-700={!edit_popup.alt_text}
|
||||
class="transition rounded outline-none dark:bg-gray-500 p-0.5 border-4 border-transparent"
|
||||
class="transition rounded-sm outline-hidden dark:bg-gray-500 p-0.5 border-4 border-transparent"
|
||||
id="alt_text"
|
||||
type="text"
|
||||
bind:value={edit_popup.alt_text}
|
||||
|
||||
@@ -190,7 +190,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
>
|
||||
</div>
|
||||
<span
|
||||
class="h-full transition-all absolute rounded bg-black bg-opacity-50"
|
||||
class="h-full transition-all absolute rounded-sm bg-black/50"
|
||||
style="width: {100 - stats.progress * 100}%"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -153,7 +153,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
bind:value={url_input}
|
||||
name="email"
|
||||
type="url"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-none focus:border-rose-600"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-hidden focus:border-rose-600"
|
||||
placeholder="https://create.kahoot.it/details/something"
|
||||
class:ring-red-700={!url_valid}
|
||||
class:ring-green-600={url_valid}
|
||||
@@ -177,7 +177,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<span />
|
||||
|
||||
<button
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded hover:bg-gray-600 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50"
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded-sm hover:bg-gray-600 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50"
|
||||
disabled={!url_valid || is_loading}
|
||||
type="submit"
|
||||
>
|
||||
@@ -213,7 +213,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
name="file"
|
||||
type="file"
|
||||
accept=".cqa,.xlsx"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg py-1.5 text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-none focus:border-rose-600"
|
||||
class="w-full peer bg-transparent h-10 rounded-lg py-1.5 text-gray-700 dark:text-white placeholder-transparent ring-2 px-2 ring-gray-500 focus:ring-sky-600 focus:outline-hidden focus:border-rose-600"
|
||||
class:ring-red-700={!file_input}
|
||||
class:ring-green-600={file_input}
|
||||
/>
|
||||
@@ -236,7 +236,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<span />
|
||||
|
||||
<button
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded hover:bg-gray-600 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50"
|
||||
class="px-4 py-2 leading-5 text-white transition-colors duration-200 transform bg-gray-700 rounded-sm hover:bg-gray-600 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50"
|
||||
disabled={!file_input || is_loading}
|
||||
type="submit"
|
||||
>
|
||||
|
||||
@@ -13,7 +13,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
<div class="flex flex-col p-2">
|
||||
{#each data.quizzes as quiz}
|
||||
<div class="border-2 border-[#B07156] rounded w-full h-[20vh] p-2 flex flex-col gap-2">
|
||||
<div class="border-2 border-[#B07156] rounded-sm w-full h-[20vh] p-2 flex flex-col gap-2">
|
||||
<div class="grid grid-cols-3 h-full">
|
||||
<div class="hidden lg:flex w-auto h-full items-center relative">
|
||||
{#if quiz.cover_image}
|
||||
@@ -21,7 +21,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
src="/api/v1/storage/download/{quiz.cover_image}"
|
||||
alt="user provided"
|
||||
loading="lazy"
|
||||
class="shrink-0 max-w-full max-h-full absolute rounded"
|
||||
class="shrink-0 max-w-full max-h-full absolute rounded-sm"
|
||||
/>
|
||||
{/if}
|
||||
</div>
|
||||
|
||||
@@ -14,7 +14,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
const { t } = getLocalization();
|
||||
</script>
|
||||
|
||||
<div class="mt-auto h-[7vh] bg-opacity-50 bg-black shadow-2xl flex justify-between">
|
||||
<div class="mt-auto h-[7vh] bg-black/50 shadow-2xl flex justify-between">
|
||||
<div class="my-auto justify-start ml-4">
|
||||
<BrownButton
|
||||
disabled={current_slide_index < 1}
|
||||
|
||||
@@ -73,7 +73,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
</div>
|
||||
</div>
|
||||
{#if selected_tab === SelectedTab.Overview}
|
||||
<div in:fade={{ duration: 150 }}>
|
||||
<div in:fade|global={{ duration: 150 }}>
|
||||
<GeneralOverview
|
||||
questions={data.results.questions}
|
||||
answers={data.results.answers}
|
||||
@@ -83,11 +83,11 @@ SPDX-License-Identifier: MPL-2.0
|
||||
/>
|
||||
</div>
|
||||
{:else if selected_tab === SelectedTab.Questions}
|
||||
<div in:fade={{ duration: 150 }}>
|
||||
<div in:fade|global={{ duration: 150 }}>
|
||||
<QuestionOverview questions={data.results.questions} answers={data.results.answers} />
|
||||
</div>
|
||||
{:else if selected_tab === SelectedTab.Players}
|
||||
<div in:fade={{ duration: 150 }}>
|
||||
<div in:fade|global={{ duration: 150 }}>
|
||||
<PlayerOverview
|
||||
custom_field={data.results.custom_field_data}
|
||||
scores={data.results.player_scores}
|
||||
|
||||
@@ -57,7 +57,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
{#each questions as question, i}
|
||||
<div class="transition-all">
|
||||
<div
|
||||
class="w-full bg-white p-2 rounded grid grid-cols-3 z-40 dark:bg-gray-700 bg-opacity-60 dark:bg-opacity-80"
|
||||
class="w-full bg-white/60 p-2 rounded-sm grid grid-cols-3 z-40 dark:bg-gray-700/80"
|
||||
>
|
||||
<button
|
||||
class="text-center underline text-xl"
|
||||
@@ -80,7 +80,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
{/if}
|
||||
</div>
|
||||
{#if question_open === i}
|
||||
<div in:fly|local={{ y: -10 }}>
|
||||
<div in:fly={{ y: -10 }}>
|
||||
<QuestionTab {question} answers={answers[i]} />
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
@@ -51,7 +51,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
</script>
|
||||
|
||||
<div class="flex justify-center">
|
||||
<div class="bg-white p-2 -z-10 w-10/12 rounded dark:bg-gray-700">
|
||||
<div class="bg-white p-2 -z-10 w-10/12 rounded-sm dark:bg-gray-700">
|
||||
{#if question.type !== QuizQuestionType.ORDER && question.type !== QuizQuestionType.RANGE}
|
||||
<div class="flex flex-col mb-4">
|
||||
{#each question.answers as answer}
|
||||
|
||||
@@ -54,14 +54,14 @@ SPDX-License-Identifier: MPL-2.0
|
||||
>
|
||||
<input
|
||||
type="search"
|
||||
class="form-control relative flex-auto min-w-0 block w-full px-3 py-1.5 text-base font-normal text-gray-700 bg-white bg-clip-padding border border-solid border-gray-300 rounded transition ease-in-out m-0 focus:text-gray-700 focus:bg-white focus:border-blue-600 focus:outline-none"
|
||||
class="form-control relative flex-auto min-w-0 block w-full px-3 py-1.5 text-base font-normal text-gray-700 bg-white bg-clip-padding border border-solid border-gray-300 rounded-sm transition ease-in-out m-0 focus:text-gray-700 focus:bg-white focus:border-blue-600 focus:outline-hidden"
|
||||
placeholder={$t('search_page.at_least_3_characters')}
|
||||
aria-label="Search"
|
||||
aria-describedby="button-addon2"
|
||||
bind:value={search_term}
|
||||
/>
|
||||
<button
|
||||
class="px-6 py-2.5 bg-blue-600 text-white font-medium text-xs leading-tight uppercase rounded shadow-md hover:bg-blue-700 hover:shadow-lg focus:bg-blue-700 focus:shadow-lg focus:outline-none focus:ring-0 active:bg-blue-800 active:shadow-lg transition duration-150 ease-in-out flex items-center disabled:opacity-50 disabled:cursor-not-allowed"
|
||||
class="px-6 py-2.5 bg-blue-600 text-white font-medium text-xs leading-tight uppercase rounded-sm shadow-md hover:bg-blue-700 hover:shadow-lg focus:bg-blue-700 focus:shadow-lg focus:outline-hidden focus:ring-0 active:bg-blue-800 active:shadow-lg transition duration-150 ease-in-out flex items-center disabled:opacity-50 disabled:cursor-not-allowed"
|
||||
id="button-addon2"
|
||||
disabled={search_term.length <= 2}
|
||||
type="submit"
|
||||
|
||||
@@ -120,7 +120,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
<a
|
||||
href="/api/v1/eximport/{quiz.id}"
|
||||
aria-label="Download the quiz"
|
||||
class="flex justify-center px-4 py-2 leading-5 text-black dark:text-white transition-colors duration-200 transform bg-gray-50 dark:bg-gray-700 rounded text-center hover:bg-gray-300 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 dark:hover:bg-gray-600"
|
||||
class="flex justify-center px-4 py-2 leading-5 text-black dark:text-white transition-colors duration-200 transform bg-gray-50 dark:bg-gray-700 rounded-sm text-center hover:bg-gray-300 focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50 dark:hover:bg-gray-600"
|
||||
><!-- heroicons/download -->
|
||||
<svg
|
||||
class="w-5 h-5"
|
||||
|
||||
@@ -29,7 +29,7 @@ SPDX-License-Identifier: MPL-2.0
|
||||
};
|
||||
</script>
|
||||
|
||||
<div class="rounded border-2 border-[#B07156] flex flex-col w-fit gap-2 p-2">
|
||||
<div class="rounded-sm border-2 border-[#B07156] flex flex-col w-fit gap-2 p-2">
|
||||
<div class:opacity-50={mod_rating !== null && mod_rating !== undefined} class="transition">
|
||||
<BrownButton on:click={() => (mod_rating = null)}>Not Checked</BrownButton>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user