Added footer

This commit is contained in:
Mawoka
2022-03-28 18:44:33 +02:00
parent 20b4e46020
commit f1b36c97dc
7 changed files with 311 additions and 273 deletions
+15
View File
@@ -0,0 +1,15 @@
<footer class="text-center text-white border-black">
<div class="text-center p-4 bg-gray-700">
Made with ❤️ by
<a
href="https://mawoka.eu?utm_source=ClassQuiz&utm_medium=footer"
class="hover:underline bg-clip-text text-transparent bg-gradient-to-r from-[#009444] via-[#39b54a] to-[#8dc63f]"
>Mawoka</a
>
</div>
<div class="flex justify-center bg-gray-700 border-t-2 border-t-white">
<p class="text-gray-400 text-center">
<i>Kahoot! and the K! logo are trademarks of Kahoot! AS</i>
</p>
</div>
</footer>
+2 -2
View File
@@ -14,6 +14,7 @@
import { navbarVisible } from '$lib/stores'; import { navbarVisible } from '$lib/stores';
import { browser } from '$app/env'; import { browser } from '$app/env';
import { getLocalization } from '$lib/i18n'; import { getLocalization } from '$lib/i18n';
import Footer from '$lib/footer.svelte';
const { t } = getLocalization(); const { t } = getLocalization();
@@ -73,7 +74,6 @@
<svelte:head> <svelte:head>
<title>ClassQuiz - Login</title> <title>ClassQuiz - Login</title>
</svelte:head> </svelte:head>
<div class="flex items-center justify-center h-full px-4"> <div class="flex items-center justify-center h-full px-4">
<div> <div>
<span class="p-4" /> <span class="p-4" />
@@ -184,7 +184,7 @@
</div> </div>
</div> </div>
</div> </div>
<Footer />
<div <div
class="fixed z-10 inset-0 overflow-y-auto" class="fixed z-10 inset-0 overflow-y-auto"
aria-labelledby="modal-title" aria-labelledby="modal-title"
+2 -1
View File
@@ -15,6 +15,7 @@
import { getLocalization } from '$lib/i18n'; import { getLocalization } from '$lib/i18n';
import { validateSchema } from '@felte/validator-yup'; import { validateSchema } from '@felte/validator-yup';
import { navbarVisible } from '$lib/stores'; import { navbarVisible } from '$lib/stores';
import Footer from '$lib/footer.svelte';
const { t } = getLocalization(); const { t } = getLocalization();
// import reporter from '@felte/reporter-tippy'; // import reporter from '@felte/reporter-tippy';
@@ -227,7 +228,7 @@
</div> </div>
</div> </div>
</div> </div>
<Footer />
<div <div
class="fixed z-10 inset-0 overflow-y-auto" class="fixed z-10 inset-0 overflow-y-auto"
aria-labelledby="modal-title" aria-labelledby="modal-title"
+10
View File
@@ -0,0 +1,10 @@
<script lang="ts">
import Footer from '$lib/footer.svelte';
</script>
<div class="min-h-screen flex flex-col">
<slot />
</div>
<div class="pt-4">
<Footer />
</div>
+7 -1
View File
@@ -1,6 +1,7 @@
<script lang="ts"> <script lang="ts">
import { navbarVisible } from '$lib/stores'; import { navbarVisible } from '$lib/stores';
import { getLocalization } from '$lib/i18n'; import { getLocalization } from '$lib/i18n';
import Footer from '$lib/footer.svelte';
const { t } = getLocalization(); const { t } = getLocalization();
@@ -22,6 +23,7 @@
<meta name="description" content={$t('index_page.meta.description')} /> <meta name="description" content={$t('index_page.meta.description')} />
</svelte:head> </svelte:head>
<div class="min-h-screen flex flex-col">
<section> <section>
<div class="pt-12 text-center"> <div class="pt-12 text-center">
<h1 class="sm:text-8xl text-6xl mt-6 marck-script">ClassQuiz</h1> <h1 class="sm:text-8xl text-6xl mt-6 marck-script">ClassQuiz</h1>
@@ -34,7 +36,8 @@
<h1 class="sm:text-6xl text-4xl">{$t('words.stats')}</h1> <h1 class="sm:text-6xl text-4xl">{$t('words.stats')}</h1>
<p class="text-xl pt-4"> <p class="text-xl pt-4">
{#await getStats() then stats} {#await getStats() then stats}
There are already <span class="underline">{stats.user_count}</span> users and <!-- TODO: Add translation --> There are already <span class="underline">{stats.user_count}</span> users and
<!-- TODO: Add translation -->
<span class="underline">{stats.quiz_count}</span> quizzes on ClassQuiz. <span class="underline">{stats.quiz_count}</span> quizzes on ClassQuiz.
{/await} {/await}
</p> </p>
@@ -50,3 +53,6 @@
</p> </p>
</div> </div>
</section> </section>
</div>
<Footer />
+7 -1
View File
@@ -18,6 +18,7 @@
import type { QuizData } from '../app'; import type { QuizData } from '../app';
import { DateTime } from 'luxon'; import { DateTime } from 'luxon';
import { getLocalization } from '$lib/i18n'; import { getLocalization } from '$lib/i18n';
import Footer from '$lib/footer.svelte';
const { t } = getLocalization(); const { t } = getLocalization();
const getData = async (): Promise<Array<QuizData>> => { const getData = async (): Promise<Array<QuizData>> => {
@@ -57,6 +58,7 @@
<title>ClassQuiz - Overview</title> <title>ClassQuiz - Overview</title>
</svelte:head> </svelte:head>
<div class="min-h-screen flex flex-col">
{#await getData()} {#await getData()}
<svg class="h-8 w-8 animate-spin mx-auto my-20" viewBox="3 3 18 18"> <svg class="h-8 w-8 animate-spin mx-auto my-20" viewBox="3 3 18 18">
<path <path
@@ -144,7 +146,9 @@
<tbody> <tbody>
<!-- Product 1 --> <!-- Product 1 -->
{#each quizzes as quiz} {#each quizzes as quiz}
<tr class="bg-white border-b dark:bg-gray-800 dark:border-gray-700"> <tr
class="bg-white border-b dark:bg-gray-800 dark:border-gray-700"
>
<td <td
class="py-4 px-6 text-sm font-medium text-gray-900 whitespace-nowrap dark:text-white" class="py-4 px-6 text-sm font-medium text-gray-900 whitespace-nowrap dark:text-white"
> >
@@ -209,3 +213,5 @@
{:catch err} {:catch err}
<p>{err}</p> <p>{err}</p>
{/await} {/await}
</div>
<Footer />