From 418fe7773fbc981186909a1f7c262c3c1fa1ece2 Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Wed, 19 Apr 2023 16:58:08 +0200 Subject: [PATCH 01/13] feat(registration): disable text select --- src/routes/registration/+page.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/routes/registration/+page.svelte b/src/routes/registration/+page.svelte index fa4c75e..9a84db8 100644 --- a/src/routes/registration/+page.svelte +++ b/src/routes/registration/+page.svelte @@ -49,7 +49,7 @@
@@ -154,7 +154,7 @@
From cbfbd92d0e4f9735a2192125f267f651ed36c9b1 Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Wed, 19 Apr 2023 16:58:35 +0200 Subject: [PATCH 02/13] feat(registration): autofocus input fields + done button --- src/routes/registration/+page.svelte | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/routes/registration/+page.svelte b/src/routes/registration/+page.svelte index 9a84db8..4ed6ab9 100644 --- a/src/routes/registration/+page.svelte +++ b/src/routes/registration/+page.svelte @@ -2,6 +2,7 @@ import { RunnerService, type ResponseRunner } from '@odit/lfk-client-js'; import bwipjs from 'bwip-js'; import lfkbackground from './background.png'; + import { onMount } from 'svelte'; $: firstname = ''; $: lastname = ''; @@ -11,6 +12,23 @@ let response: ResponseRunner; const group = 1; //Default to Bürgerlauf + function focusFirstName() { + setTimeout(() => { + document.getElementById('firstname')?.focus(); + }, 50); + setTimeout(() => { + document.getElementById('firstname')?.focus(); + }, 100); + } + function focusDoneButton() { + setTimeout(() => { + document.getElementById('done')?.focus(); + }, 50); + setTimeout(() => { + document.getElementById('done')?.focus(); + }, 100); + } + async function register() { try { response = (await RunnerService.runnerControllerPost({ @@ -20,6 +38,7 @@ })) as ResponseRunner; showError = false; showResult = true; + focusDoneButton(); } catch (error) { console.log(error); showError = true; @@ -46,6 +65,10 @@ }); return canvas.toDataURL('image/png'); } + + onMount(() => { + focusFirstName(); + });
-
+
Date: Wed, 19 Apr 2023 17:04:36 +0200 Subject: [PATCH 03/13] feat(registration): disabled done button for 7.5s --- src/routes/registration/+page.svelte | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/routes/registration/+page.svelte b/src/routes/registration/+page.svelte index 4ed6ab9..77ab0b6 100644 --- a/src/routes/registration/+page.svelte +++ b/src/routes/registration/+page.svelte @@ -6,6 +6,7 @@ $: firstname = ''; $: lastname = ''; + $: doneButtonEnabled = false; $: showResult = false; $: showError = false; @@ -38,7 +39,12 @@ })) as ResponseRunner; showError = false; showResult = true; - focusDoneButton(); + setTimeout(() => { + doneButtonEnabled = true; + setTimeout(() => { + focusDoneButton(); + }, 25); + }, 7500); } catch (error) { console.log(error); showError = true; @@ -201,8 +207,11 @@
+
+ + +
+
+ - - - +{/if} diff --git a/src/routes/registration/+page.svelte b/src/routes/Register.svelte similarity index 99% rename from src/routes/registration/+page.svelte rename to src/routes/Register.svelte index 54c479e..66e1df2 100644 --- a/src/routes/registration/+page.svelte +++ b/src/routes/Register.svelte @@ -8,7 +8,6 @@ $: lastname = ''; $: doneButtonEnabled = false; $: showResult = false; - $: showError = false; let response: ResponseRunner; const group = 1; //Default to Bürgerlauf @@ -37,7 +36,6 @@ lastname, group })) as ResponseRunner; - showError = false; showResult = true; setTimeout(() => { doneButtonEnabled = true; @@ -47,8 +45,9 @@ }, 7500); } catch (error) { console.log(error); - showError = true; showResult = false; + localStorage.clear(); + location.reload(); } firstname = ''; lastname = ''; diff --git a/src/routes/registration/background.png b/src/routes/background.png similarity index 100% rename from src/routes/registration/background.png rename to src/routes/background.png diff --git a/src/routes/login/+page.svelte b/src/routes/login/+page.svelte deleted file mode 100644 index db2a528..0000000 --- a/src/routes/login/+page.svelte +++ /dev/null @@ -1,95 +0,0 @@ - - -
-
-
-
-
-

Anmeldung

-

- Hierfür wird ein LfK Läufersystem Account benötigt -

-
- - {#if loginError} - - {/if} - - -
-
- -
- -
- -
-
- - - -
-
- -
-
- -
-
- - - -
-
- -
-
-
-
diff --git a/src/routes/registration/+layout.svelte b/src/routes/registration/+layout.svelte deleted file mode 100644 index 7d3ccc2..0000000 --- a/src/routes/registration/+layout.svelte +++ /dev/null @@ -1,26 +0,0 @@ - - -{#if loginRendered} - -{:else} -
-

Lade Anmeldedaten...

-
-{/if} From c7c1c6dc41afc6ca3e66b507fd1ff50185f4e1be Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Wed, 19 Apr 2023 18:06:13 +0200 Subject: [PATCH 07/13] refactor!: cleanup userdata localstorage + components --- src/lib/userstore.ts | 11 ++-- src/routes/+page.svelte | 118 +-------------------------------------- src/routes/Login.svelte | 120 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 127 insertions(+), 122 deletions(-) create mode 100644 src/routes/Login.svelte diff --git a/src/lib/userstore.ts b/src/lib/userstore.ts index 235397d..33d5495 100644 --- a/src/lib/userstore.ts +++ b/src/lib/userstore.ts @@ -27,7 +27,6 @@ async function auth_login(resAuth: ResponseAuth) { }, 2 * 60000); localStorage.setItem('kiosk-userdata', JSON.stringify(state)); - localStorage.setItem('kiosk-access_token', state.access_token); OpenAPI.TOKEN = resAuth.access_token; userState.set(state); return state; @@ -43,15 +42,13 @@ async function refreshAuth() { } } async function loginFromStorage() { - const access_token = localStorage.getItem('kiosk-access_token'); - if (!access_token) { + const storagedata = localStorage.getItem('kiosk-userdata'); + const userdata = JSON.parse(storagedata || '{}') as UserState; + if (!userdata.access_token) { throw new Error('Unauthorized'); } - const storagedata = localStorage.getItem('kiosk-userdata'); - const userdata = JSON.parse(storagedata || '{}') as UserState; - - state.access_token = access_token; + state.access_token = userdata.access_token; state.refresh_token = userdata.refresh_token; state.isLoggedIn = true; state.refreshInterval = setInterval(() => { diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 98886e4..4e7d022 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,128 +1,16 @@ {#if $userState.isLoggedIn} {:else} -
-
- -
-

- LfK! Selfservice - Kiosk -

-
- - -
-

Für die Anmeldung vor Ort

-
-
-
-
-
-

Anmeldung

-

- Hierfür wird ein LfK Läufersystem Account benötigt -

-
- - {#if loginError} - - {/if} - - -
-
- -
- -
- -
-
- - - -
-
- -
-
- -
-
- - - -
-
- -
-
-
-
-
+ {/if} diff --git a/src/routes/Login.svelte b/src/routes/Login.svelte new file mode 100644 index 0000000..31717fb --- /dev/null +++ b/src/routes/Login.svelte @@ -0,0 +1,120 @@ + + + +
+
+ +
+

+ LfK! Selfservice + Kiosk +

+
+ + +
+

Für die Anmeldung vor Ort

+
+
+
+
+
+

Anmeldung

+

+ Hierfür wird ein LfK Läufersystem Account benötigt +

+
+ + {#if loginError} + + {/if} + + +
+
+ +
+ +
+ +
+
+ + + +
+
+ +
+
+ +
+
+ + + +
+
+ +
+
+
+
+
From 01cd8d4b78b3898d2f74f2b27cdad9e9745c1e33 Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Wed, 19 Apr 2023 18:07:15 +0200 Subject: [PATCH 08/13] add chrome kiosk command to readme --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 7e85e3f..ad99907 100644 --- a/README.md +++ b/README.md @@ -24,4 +24,9 @@ pnpm build ``` docker build . docker-compose up +``` + +## Kiosk Google Chrome +``` +chrome https://run.lauf-fuer-kaya.de/kiosk/ -kiosk ``` \ No newline at end of file From aa7d2dbe1b67b33a59093bc53aa944cb6473ef03 Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Wed, 19 Apr 2023 18:07:26 +0200 Subject: [PATCH 09/13] =?UTF-8?q?=F0=9F=9A=80Bumped=20version=20to=200.6.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 9 +++++++++ package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e6d0c9f..5a4e6fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,18 @@ All notable changes to this project will be documented in this file. Dates are displayed in UTC. +#### [0.6.0](https://git.odit.services/lfk/kiosk/compare/0.5.0...0.6.0) + +- feat!: move to single route application for kiosk mode [`bf8b351`](https://git.odit.services/lfk/kiosk/commit/bf8b351b644174a2dd39d38208a03a067de387be) +- refactor!: cleanup userdata localstorage + components [`c7c1c6d`](https://git.odit.services/lfk/kiosk/commit/c7c1c6dc41afc6ca3e66b507fd1ff50185f4e1be) +- add chrome kiosk command to readme [`01cd8d4`](https://git.odit.services/lfk/kiosk/commit/01cd8d4b78b3898d2f74f2b27cdad9e9745c1e33) + #### [0.5.0](https://git.odit.services/lfk/kiosk/compare/0.4.4...0.5.0) +> 19 April 2023 + - feat(registration): autofocus input fields + done button [`cbfbd92`](https://git.odit.services/lfk/kiosk/commit/cbfbd92d0e4f9735a2192125f267f651ed36c9b1) +- 🚀Bumped version to 0.5.0 [`58830c5`](https://git.odit.services/lfk/kiosk/commit/58830c5db3d9903d590f535a4099ad93a8ff6519) - feat(registration): disabled done button for 7.5s [`5f5b03a`](https://git.odit.services/lfk/kiosk/commit/5f5b03a8a086799543cf675ccc3a973b781d1987) - feat(registration): support next input element with ENTER key [`066e67c`](https://git.odit.services/lfk/kiosk/commit/066e67c64f48b00673f2de7727acb230c94c3c13) - feat(registration): disable text select [`418fe77`](https://git.odit.services/lfk/kiosk/commit/418fe7773fbc981186909a1f7c262c3c1fa1ece2) diff --git a/package.json b/package.json index bf7c50c..e1d369c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@lfk/kiosk", - "version": "0.5.0", + "version": "0.6.0", "private": false, "license": "MIT", "repository": "https://git.odit.services/lfk/kiosk", From e5123251155f58e83f36c091b671acc73167ce68 Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Wed, 19 Apr 2023 18:27:12 +0200 Subject: [PATCH 10/13] refactor: drop footer --- src/components/footer.svelte | 49 ------------------------------------ 1 file changed, 49 deletions(-) delete mode 100644 src/components/footer.svelte diff --git a/src/components/footer.svelte b/src/components/footer.svelte deleted file mode 100644 index de5931a..0000000 --- a/src/components/footer.svelte +++ /dev/null @@ -1,49 +0,0 @@ -
From bb3c80190834be6d43f50cdb6eeb09ac75868259 Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Wed, 19 Apr 2023 18:27:27 +0200 Subject: [PATCH 11/13] feat: prevent F1 + F5 --- src/routes/+layout.svelte | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 21e02e9..b666dde 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -8,12 +8,10 @@ OpenAPI.BASE = env.PUBLIC_BASE_URL || 'https://run.lauf-fuer-kaya.de'; onMount(() => { window.addEventListener('keydown', (e) => { - if(e.altKey) e.preventDefault(); - // console.log(e); - // const { key, altKey } = e; - // if (key === 'F4' && altKey) { - // e.preventDefault(); - // } + // F1 + if (e.keyCode === 112) e.preventDefault(); + // F5 + if (e.keyCode === 116) e.preventDefault(); }); }); From 115767c656381336257c23ee30a130e7e9c60144 Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Wed, 19 Apr 2023 18:27:33 +0200 Subject: [PATCH 12/13] feat: footer --- src/routes/+page.svelte | 29 +++++++++++++++++++++++++++++ src/routes/Register.svelte | 26 +------------------------- 2 files changed, 30 insertions(+), 25 deletions(-) diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 4e7d022..892076b 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -14,3 +14,32 @@ {:else} {/if} +
+ {#if $userState.isLoggedIn} + LfK!2023 powered by + ODIT.Services + {:else} + Datenschutzerklärung + | + Impressum +
+
+ LfK!2023 powered by + ODIT.Services + {/if} +
diff --git a/src/routes/Register.svelte b/src/routes/Register.svelte index 66e1df2..619da18 100644 --- a/src/routes/Register.svelte +++ b/src/routes/Register.svelte @@ -228,28 +228,4 @@ - -
- Datenschutzerklärung - | - Impressum -
-
- LfK!2023 powered by - ODIT.Services -
+ \ No newline at end of file From 16d15f7242c738724121797cea1bd2868253fc6f Mon Sep 17 00:00:00 2001 From: Philipp Dormann Date: Wed, 19 Apr 2023 18:27:56 +0200 Subject: [PATCH 13/13] =?UTF-8?q?=F0=9F=9A=80Bumped=20version=20to=201.0.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 9 +++++++++ package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a4e6fb..04d9774 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,19 @@ All notable changes to this project will be documented in this file. Dates are displayed in UTC. +#### [1.0.0](https://git.odit.services/lfk/kiosk/compare/0.6.0...1.0.0) + +- feat: footer [`115767c`](https://git.odit.services/lfk/kiosk/commit/115767c656381336257c23ee30a130e7e9c60144) +- refactor: drop footer [`e512325`](https://git.odit.services/lfk/kiosk/commit/e5123251155f58e83f36c091b671acc73167ce68) +- feat: prevent F1 + F5 [`bb3c801`](https://git.odit.services/lfk/kiosk/commit/bb3c80190834be6d43f50cdb6eeb09ac75868259) + #### [0.6.0](https://git.odit.services/lfk/kiosk/compare/0.5.0...0.6.0) +> 19 April 2023 + - feat!: move to single route application for kiosk mode [`bf8b351`](https://git.odit.services/lfk/kiosk/commit/bf8b351b644174a2dd39d38208a03a067de387be) - refactor!: cleanup userdata localstorage + components [`c7c1c6d`](https://git.odit.services/lfk/kiosk/commit/c7c1c6dc41afc6ca3e66b507fd1ff50185f4e1be) +- 🚀Bumped version to 0.6.0 [`aa7d2db`](https://git.odit.services/lfk/kiosk/commit/aa7d2dbe1b67b33a59093bc53aa944cb6473ef03) - add chrome kiosk command to readme [`01cd8d4`](https://git.odit.services/lfk/kiosk/commit/01cd8d4b78b3898d2f74f2b27cdad9e9745c1e33) #### [0.5.0](https://git.odit.services/lfk/kiosk/compare/0.4.4...0.5.0) diff --git a/package.json b/package.json index e1d369c..524f3a8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@lfk/kiosk", - "version": "0.6.0", + "version": "1.0.0", "private": false, "license": "MIT", "repository": "https://git.odit.services/lfk/kiosk",