diff --git a/frontend/pnpm-lock.yaml b/frontend/pnpm-lock.yaml index fe63278..960f81a 100644 --- a/frontend/pnpm-lock.yaml +++ b/frontend/pnpm-lock.yaml @@ -40,6 +40,7 @@ specifiers: svelte-check: ^2.2.6 svelte-preprocess: ^4.10.1 sveltejs-tippy: ^3.0.0 + swiper: ^8.1.0 tailwindcss: ^3.0.12 tslib: ^2.3.1 typescript: ~4.5.4 @@ -87,6 +88,7 @@ devDependencies: svelte-check: 2.4.5_bb21b93d557fc716a6ae071c4dce10e1 svelte-preprocess: 4.10.4_c54fd0a3479054b5002c3dc2e70c9c9a sveltejs-tippy: 3.0.0 + swiper: 8.1.0 tailwindcss: 3.0.23_autoprefixer@10.4.2 tslib: 2.3.1 typescript: 4.5.5 @@ -1378,6 +1380,15 @@ packages: esutils: 2.0.3 dev: true + /dom7/4.0.4: + resolution: + { + integrity: sha512-DSSgBzQ4rJWQp1u6o+3FVwMNnT5bzQbMb+o31TjYYeRi05uAcpF8koxdfzeoe5ElzPmua7W7N28YJhF7iEKqIw== + } + dependencies: + ssr-window: 4.0.2 + dev: true + /duplexify/3.7.1: resolution: { @@ -3639,6 +3650,13 @@ packages: resolution: { integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= } dev: true + /ssr-window/4.0.2: + resolution: + { + integrity: sha512-ISv/Ch+ig7SOtw7G2+qkwfVASzazUnvlDTwypdLoPoySv+6MqlOV10VwPSE6EWkGjhW50lUmghPmpYZXMu/+AQ== + } + dev: true + /standard-as-callback/2.1.0: resolution: { @@ -3856,6 +3874,18 @@ packages: tippy.js: 6.0.3 dev: true + /swiper/8.1.0: + resolution: + { + integrity: sha512-Py2vuk7Nb3xlZMB2e201DQkjslTb6Uaju6wvr4BB7VjWrouSZegA0QjbxDVheJOsbKMUV092iDL3kymPBbuVzw== + } + engines: { node: '>= 4.7.0' } + requiresBuild: true + dependencies: + dom7: 4.0.4 + ssr-window: 4.0.2 + dev: true + /table/6.8.0: resolution: { diff --git a/frontend/src/lib/assets/landing/.gitignore b/frontend/src/lib/assets/landing/.gitignore new file mode 100644 index 0000000..0d4df9a --- /dev/null +++ b/frontend/src/lib/assets/landing/.gitignore @@ -0,0 +1,2 @@ +*.png +*.xcf \ No newline at end of file diff --git a/frontend/src/lib/assets/landing/admin_overview.webp b/frontend/src/lib/assets/landing/admin_overview.webp new file mode 100644 index 0000000..2207467 Binary files /dev/null and b/frontend/src/lib/assets/landing/admin_overview.webp differ diff --git a/frontend/src/lib/assets/landing/import-select-mockup.webp b/frontend/src/lib/assets/landing/import-select-mockup.webp new file mode 100644 index 0000000..cf34f02 Binary files /dev/null and b/frontend/src/lib/assets/landing/import-select-mockup.webp differ diff --git a/frontend/src/lib/assets/landing/overview-mockup.webp b/frontend/src/lib/assets/landing/overview-mockup.webp new file mode 100644 index 0000000..7a39105 Binary files /dev/null and b/frontend/src/lib/assets/landing/overview-mockup.webp differ diff --git a/frontend/src/lib/assets/landing/results-mockup.webp b/frontend/src/lib/assets/landing/results-mockup.webp new file mode 100644 index 0000000..165f647 Binary files /dev/null and b/frontend/src/lib/assets/landing/results-mockup.webp differ diff --git a/frontend/src/lib/assets/landing/results.webp b/frontend/src/lib/assets/landing/results.webp new file mode 100644 index 0000000..612f55e Binary files /dev/null and b/frontend/src/lib/assets/landing/results.webp differ diff --git a/frontend/src/lib/assets/landing/select-mockup.webp b/frontend/src/lib/assets/landing/select-mockup.webp new file mode 100644 index 0000000..153e59e Binary files /dev/null and b/frontend/src/lib/assets/landing/select-mockup.webp differ diff --git a/frontend/src/lib/assets/landing/select.webp b/frontend/src/lib/assets/landing/select.webp new file mode 100644 index 0000000..4c79bbd Binary files /dev/null and b/frontend/src/lib/assets/landing/select.webp differ diff --git a/frontend/src/lib/assets/landing/solution-mockup.webp b/frontend/src/lib/assets/landing/solution-mockup.webp new file mode 100644 index 0000000..5f19ed2 Binary files /dev/null and b/frontend/src/lib/assets/landing/solution-mockup.webp differ diff --git a/frontend/src/lib/assets/landing/solution.webp b/frontend/src/lib/assets/landing/solution.webp new file mode 100644 index 0000000..9df7a6c Binary files /dev/null and b/frontend/src/lib/assets/landing/solution.webp differ diff --git a/frontend/src/lib/landing/landing-promo.svelte b/frontend/src/lib/landing/landing-promo.svelte new file mode 100644 index 0000000..ebd2c8a --- /dev/null +++ b/frontend/src/lib/landing/landing-promo.svelte @@ -0,0 +1,110 @@ + + +
+ {#if teacherTab} +
+ + +
+

1: Create or Import

+

2: See all your quizzes

+ + +
+ Select answer +
+
+ See right and wrong solutions +
+ + + + + + + +
+
+ {:else} +
+ +
+

1: Answer

+

2: See what was right or wrong

+

+ 3: See how many were right or wrong +

+ +
+ Select answer +
+
+ See right and wrong solutions +
+
+ See results in comparison with other players +
+
+
+ {/if} +
+
+
+ {#if teacherTab} + + {:else} + + {/if} + +
+
+
+
diff --git a/frontend/src/lib/landing/testimonials.svelte b/frontend/src/lib/landing/testimonials.svelte new file mode 100644 index 0000000..1801678 --- /dev/null +++ b/frontend/src/lib/landing/testimonials.svelte @@ -0,0 +1,57 @@ + + +
+
+ + {#each testimotionals as testi} + +
+
+
+
+

+ {testi.quote} +

+
+
+
{testi.name}
+ Source +
+
+
+
+
+ {/each} +
+
+
diff --git a/frontend/src/routes/__layout.svelte b/frontend/src/routes/__layout.svelte index cef8734..831c832 100644 --- a/frontend/src/routes/__layout.svelte +++ b/frontend/src/routes/__layout.svelte @@ -39,7 +39,7 @@ background-size: cover; /*background: linear-gradient(-225deg, #231557 0%, #44107A 29%, #FF1361 67%, #FFF800 100%); */ /*background: linear-gradient(-225deg, #22E1FF 0%, #1D8FE1 48%, #625EB1 100%); */ - color: beige; + color: black; // background-size: 400% 400%; diff --git a/frontend/src/routes/index.svelte b/frontend/src/routes/index.svelte index 0dfcea6..d4d995e 100644 --- a/frontend/src/routes/index.svelte +++ b/frontend/src/routes/index.svelte @@ -14,6 +14,8 @@ import { getLocalization } from '$lib/i18n'; import Footer from '$lib/footer.svelte'; + import LandingPromo from '$lib/landing/landing-promo.svelte'; + const { t } = getLocalization(); navbarVisible.set(true); @@ -54,8 +56,24 @@

-
-
+ +
+

Screenshots

+
+ +
+
+ + +
+

{$t('words.features')}

{$t('index_page.features_description.1')} diff --git a/frontend/svelte.config.js b/frontend/svelte.config.js index 452428c..fcb4d98 100644 --- a/frontend/svelte.config.js +++ b/frontend/svelte.config.js @@ -17,6 +17,9 @@ const config = { precompress: true }), vite: { + optimizeDeps: { + include: ['swiper'] + }, build: { sourcemap: true }