Compare commits
21 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
7516d3579f
|
|||
|
2c503f9b03
|
|||
|
6a0b014d55
|
|||
|
b7f792c6f9
|
|||
|
528b025e55
|
|||
|
368e97c6bb
|
|||
|
6acd8bb634
|
|||
|
6dcdba6568
|
|||
|
525c096f7a
|
|||
|
0de50822cd
|
|||
|
0177c50651
|
|||
|
f7575f46e4
|
|||
|
a8d90d4882
|
|||
|
a2ffa5055e
|
|||
|
b969932582
|
|||
|
72ace57cb3
|
|||
|
16f9228390
|
|||
|
16d15f7242
|
|||
|
115767c656
|
|||
|
bb3c801908
|
|||
|
e512325115
|
131
.drone.yml
131
.drone.yml
@@ -1,131 +0,0 @@
|
|||||||
---
|
|
||||||
kind: secret
|
|
||||||
name: docker_username
|
|
||||||
get:
|
|
||||||
path: odit-registry-builder
|
|
||||||
name: username
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: secret
|
|
||||||
name: docker_password
|
|
||||||
get:
|
|
||||||
path: odit-registry-builder
|
|
||||||
name: password
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: secret
|
|
||||||
name: npm_url
|
|
||||||
get:
|
|
||||||
path: odit-npm-cache
|
|
||||||
name: url
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: kubernetes
|
|
||||||
name: build:latest
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: docker release
|
|
||||||
image: registry.odit.services/library/drone-kaniko
|
|
||||||
depends_on: [clone]
|
|
||||||
settings:
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
build_args:
|
|
||||||
- NPM_REGISTRY_URL:
|
|
||||||
from_secret: npm_url
|
|
||||||
repo: lfk/kiosk
|
|
||||||
tags:
|
|
||||||
- latest
|
|
||||||
cache: true
|
|
||||||
registry: registry.odit.services
|
|
||||||
trigger:
|
|
||||||
branch:
|
|
||||||
- main
|
|
||||||
event:
|
|
||||||
- push
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: kubernetes
|
|
||||||
name: build:dev
|
|
||||||
steps:
|
|
||||||
- name: docker edge
|
|
||||||
image: registry.odit.services/library/drone-kaniko
|
|
||||||
depends_on: [clone]
|
|
||||||
settings:
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
build_args:
|
|
||||||
- NPM_REGISTRY_URL:
|
|
||||||
from_secret: npm_url
|
|
||||||
repo: lfk/kiosk
|
|
||||||
tags:
|
|
||||||
- edge
|
|
||||||
cache: true
|
|
||||||
registry: registry.odit.services
|
|
||||||
trigger:
|
|
||||||
branch:
|
|
||||||
- dev
|
|
||||||
event:
|
|
||||||
- push
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: kubernetes
|
|
||||||
name: build:tag
|
|
||||||
steps:
|
|
||||||
- name: docker release
|
|
||||||
image: registry.odit.services/library/drone-kaniko
|
|
||||||
depends_on: [clone]
|
|
||||||
settings:
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
build_args:
|
|
||||||
- NPM_REGISTRY_URL:
|
|
||||||
from_secret: npm_url
|
|
||||||
repo: lfk/kiosk
|
|
||||||
tags:
|
|
||||||
- "${DRONE_TAG}"
|
|
||||||
cache: true
|
|
||||||
registry: registry.odit.services
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: kubernetes
|
|
||||||
name: check:pr
|
|
||||||
steps:
|
|
||||||
- name: type checks
|
|
||||||
depends_on:
|
|
||||||
- "clone"
|
|
||||||
image: registry.odit.services/hub/library/node:19.9.0-alpine3.16
|
|
||||||
commands:
|
|
||||||
- npm config set registry $NPM_REGISTRY_URL && npm i -g pnpm@8
|
|
||||||
- pnpm i
|
|
||||||
- pnpm check
|
|
||||||
environment:
|
|
||||||
NPM_REGISTRY_URL:
|
|
||||||
from_secret: npm_url
|
|
||||||
- name: build check
|
|
||||||
depends_on:
|
|
||||||
- "clone"
|
|
||||||
image: registry.odit.services/hub/library/node:19.9.0-alpine3.16
|
|
||||||
commands:
|
|
||||||
- npm config set registry $NPM_REGISTRY_URL && npm i -g pnpm@8
|
|
||||||
- pnpm i
|
|
||||||
- pnpm build
|
|
||||||
environment:
|
|
||||||
NPM_REGISTRY_URL:
|
|
||||||
from_secret: npm_url
|
|
||||||
trigger:
|
|
||||||
event:
|
|
||||||
- pull_request
|
|
||||||
27
.gitea/workflows/dev.yaml
Normal file
27
.gitea/workflows/dev.yaml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
name: Build latest image
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-container:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Login to registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: registry.odit.services
|
||||||
|
username: ${{ vars.REGISTRY_USERNAME }}
|
||||||
|
password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
- name: Build and push
|
||||||
|
uses: docker/build-push-action@v6
|
||||||
|
with:
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
${{ vars.REGISTRY }}/lfk/kiosk:latest
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
27
.gitea/workflows/release.yaml
Normal file
27
.gitea/workflows/release.yaml
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
name: Build release images
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- "*.*.*"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-container:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Login to registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: registry.odit.services
|
||||||
|
username: ${{ vars.REGISTRY_USERNAME }}
|
||||||
|
password: ${{ secrets.REGISTRY_PASSWORD }}
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
- name: Build and push
|
||||||
|
uses: docker/build-push-action@v6
|
||||||
|
with:
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
${{ vars.REGISTRY }}/lfk/kiosk:${{ github.ref_name }}
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
49
CHANGELOG.md
49
CHANGELOG.md
@@ -2,10 +2,59 @@
|
|||||||
|
|
||||||
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
|
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
|
||||||
|
|
||||||
|
#### [1.1.4](https://git.odit.services/lfk/kiosk/compare/1.1.3...1.1.4)
|
||||||
|
|
||||||
|
- feat: improve registration flow [`2c503f9`](https://git.odit.services/lfk/kiosk/commit/2c503f9b0333b668730c4eb11deb5184ee49f295)
|
||||||
|
|
||||||
|
#### [1.1.3](https://git.odit.services/lfk/kiosk/compare/1.1.2...1.1.3)
|
||||||
|
|
||||||
|
> 2 April 2025
|
||||||
|
|
||||||
|
- chore(release): 1.1.3 [`6a0b014`](https://git.odit.services/lfk/kiosk/commit/6a0b014d55b129eef17d70bb9a86203a272d3ad3)
|
||||||
|
- fix: registration without email [`b7f792c`](https://git.odit.services/lfk/kiosk/commit/b7f792c6f99249acd0c8c1154800c4442ad5a8b0)
|
||||||
|
|
||||||
|
#### [1.1.2](https://git.odit.services/lfk/kiosk/compare/1.1.1...1.1.2)
|
||||||
|
|
||||||
|
> 2 April 2025
|
||||||
|
|
||||||
|
- fix: build [`368e97c`](https://git.odit.services/lfk/kiosk/commit/368e97c6bba238b605532aa9c598ace5f2bac592)
|
||||||
|
- chore(release): 1.1.2 [`528b025`](https://git.odit.services/lfk/kiosk/commit/528b025e55ce6d4ab0dec32803d201d057725dac)
|
||||||
|
|
||||||
|
#### [1.1.1](https://git.odit.services/lfk/kiosk/compare/1.1.0...1.1.1)
|
||||||
|
|
||||||
|
> 2 April 2025
|
||||||
|
|
||||||
|
- refactor(ci): Switch to actions [`0177c50`](https://git.odit.services/lfk/kiosk/commit/0177c506516c5e21b4f73e1086b587ab2f1d8f50)
|
||||||
|
- feat: improved registration [`6dcdba6`](https://git.odit.services/lfk/kiosk/commit/6dcdba6568def337dcd1e4e6db5c75df09c1f938)
|
||||||
|
- 🚀Bumped version to 1.1.1 [`6acd8bb`](https://git.odit.services/lfk/kiosk/commit/6acd8bb6340f0d874e8ab8b9e1a93a5fd05fd3b6)
|
||||||
|
- feat: disable chrome autocomplete [`525c096`](https://git.odit.services/lfk/kiosk/commit/525c096f7a757105947da62e8dac75a24e0aa757)
|
||||||
|
|
||||||
|
#### [1.1.0](https://git.odit.services/lfk/kiosk/compare/1.0.0...1.1.0)
|
||||||
|
|
||||||
|
> 16 December 2024
|
||||||
|
|
||||||
|
- chore(deps): bump all [`b969932`](https://git.odit.services/lfk/kiosk/commit/b9699325828dd9b3ed51997d7a72f43449f000cf)
|
||||||
|
- 🚀Bumped version to 1.1.0 [`f7575f4`](https://git.odit.services/lfk/kiosk/commit/f7575f46e4197da893c002299f8e7fdefc5cb026)
|
||||||
|
- feat(ci)!: Switch to woodpecker [`16f9228`](https://git.odit.services/lfk/kiosk/commit/16f92283904bc3a2825ebb0fb0c7f130ffa8f057)
|
||||||
|
- feat: email [`a8d90d4`](https://git.odit.services/lfk/kiosk/commit/a8d90d48829fa708d1cdc5029d1e1ac2f28b1e4c)
|
||||||
|
- 2025 [`a2ffa50`](https://git.odit.services/lfk/kiosk/commit/a2ffa5055e58445bbbc6f932495eb8c4952fec99)
|
||||||
|
|
||||||
|
### [1.0.0](https://git.odit.services/lfk/kiosk/compare/0.6.0...1.0.0)
|
||||||
|
|
||||||
|
> 19 April 2023
|
||||||
|
|
||||||
|
- feat: footer [`115767c`](https://git.odit.services/lfk/kiosk/commit/115767c656381336257c23ee30a130e7e9c60144)
|
||||||
|
- refactor: drop footer [`e512325`](https://git.odit.services/lfk/kiosk/commit/e5123251155f58e83f36c091b671acc73167ce68)
|
||||||
|
- 🚀Bumped version to 1.0.0 [`16d15f7`](https://git.odit.services/lfk/kiosk/commit/16d15f7242c738724121797cea1bd2868253fc6f)
|
||||||
|
- 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)
|
#### [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)
|
- 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)
|
- 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)
|
- 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)
|
#### [0.5.0](https://git.odit.services/lfk/kiosk/compare/0.4.4...0.5.0)
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
FROM registry.odit.services/hub/library/node:19.9.0-alpine3.16 AS build
|
FROM registry.odit.services/hub/library/node:23.10.0-alpine3.21 AS build
|
||||||
ARG NPM_REGISTRY_URL=registry.npmjs.org
|
# ARG NPM_REGISTRY_URL=registry.npmjs.org
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY package.json *.config.cjs *.config.js *.config.ts tsconfig.json .npmrc ./
|
COPY package.json *.config.cjs *.config.js *.config.ts tsconfig.json .npmrc ./
|
||||||
RUN npm config set registry $NPM_REGISTRY_URL && npm i -g pnpm@8
|
RUN npm i -g pnpm@10.7
|
||||||
RUN pnpm i
|
RUN pnpm i
|
||||||
|
|
||||||
COPY src ./src
|
COPY src ./src
|
||||||
@@ -11,5 +11,5 @@ COPY static ./static
|
|||||||
RUN pnpm build
|
RUN pnpm build
|
||||||
|
|
||||||
# final image
|
# final image
|
||||||
FROM registry.odit.services/library/nginx-brotli:3.15 as final
|
FROM registry.odit.services/library/nginx-brotli:3.15 AS final
|
||||||
COPY --from=build /app/build /usr/share/nginx/html
|
COPY --from=build /app/build /usr/share/nginx/html
|
||||||
5358
licenses.md
5358
licenses.md
File diff suppressed because it is too large
Load Diff
65
package.json
65
package.json
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@lfk/kiosk",
|
"name": "@lfk/kiosk",
|
||||||
"version": "0.6.0",
|
"version": "1.1.4",
|
||||||
"private": false,
|
"private": false,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"repository": "https://git.odit.services/lfk/kiosk",
|
"repository": "https://git.odit.services/lfk/kiosk",
|
||||||
@@ -33,45 +33,46 @@
|
|||||||
"license:export": "license-exporter --markdown && git stage licenses.md"
|
"license:export": "license-exporter --markdown && git stage licenses.md"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@odit/license-exporter": "0.0.12",
|
"@odit/license-exporter": "0.2.0",
|
||||||
"@sveltejs/adapter-static": "2.0.2",
|
"@philippdormann/release-it": "^1.0.0",
|
||||||
"@sveltejs/kit": "1.15.7",
|
"@sveltejs/adapter-static": "3.0.6",
|
||||||
"@types/bwip-js": "^3.2.0",
|
"@sveltejs/kit": "2.12.0",
|
||||||
"@typescript-eslint/eslint-plugin": "5.59.0",
|
"@sveltejs/vite-plugin-svelte": "^5.0.2",
|
||||||
"@typescript-eslint/parser": "5.59.0",
|
"@types/bwip-js": "^3.2.3",
|
||||||
"auto-changelog": "2.4.0",
|
"@typescript-eslint/eslint-plugin": "8.18.0",
|
||||||
"autoprefixer": "10.4.14",
|
"@typescript-eslint/parser": "8.18.0",
|
||||||
"eslint": "8.38.0",
|
"auto-changelog": "2.5.0",
|
||||||
"eslint-config-prettier": "8.8.0",
|
"autoprefixer": "10.4.20",
|
||||||
"eslint-plugin-svelte3": "4.0.0",
|
"eslint": "9.17.0",
|
||||||
"postcss": "8.4.22",
|
"eslint-config-prettier": "9.1.0",
|
||||||
"postcss-load-config": "4.0.1",
|
"postcss": "8.4.49",
|
||||||
"prettier": "2.8.7",
|
"postcss-load-config": "6.0.1",
|
||||||
"prettier-plugin-svelte": "2.10.0",
|
"prettier": "3.4.2",
|
||||||
"release-it": "15.10.1",
|
"prettier-plugin-svelte": "3.3.2",
|
||||||
"svelte": "3.58.0",
|
"svelte": "5.14.0",
|
||||||
"svelte-check": "3.2.0",
|
"svelte-check": "4.1.1",
|
||||||
"svelte-preprocess": "5.0.3",
|
"svelte-preprocess": "6.0.3",
|
||||||
"tailwindcss": "3.3.1",
|
"tailwindcss": "3.4.16",
|
||||||
"tslib": "2.5.0",
|
"tslib": "2.8.1",
|
||||||
"typescript": "5.0.4",
|
"typescript": "5.7.2",
|
||||||
"vite": "4.2.2"
|
"vite": "6.0.3"
|
||||||
},
|
},
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fontsource/athiti": "^4.5.10",
|
"@fontsource/athiti": "^5.1.0",
|
||||||
"@odit/lfk-client-js": "1.0.1",
|
"@odit/lfk-client-js": "1.1.3",
|
||||||
"bwip-js": "3.4.0"
|
"bwip-js": "4.5.1",
|
||||||
|
"eslint-plugin-svelte": "^2.46.1"
|
||||||
},
|
},
|
||||||
"release-it": {
|
"release-it": {
|
||||||
"git": {
|
"git": {
|
||||||
"commit": true,
|
"commit": true,
|
||||||
"requireCleanWorkingDir": false,
|
"requireCleanWorkingDir": false,
|
||||||
"commitMessage": "🚀Bumped version to ${version}",
|
"commitMessage": "chore(release): ${version}",
|
||||||
"requireBranch": "main",
|
"requireBranch": "main",
|
||||||
"push": true,
|
"push": true,
|
||||||
"tag": true,
|
"tag": true,
|
||||||
"tagName": null,
|
"tagName": "${version}",
|
||||||
"tagAnnotation": "${version}"
|
"tagAnnotation": "${version}"
|
||||||
},
|
},
|
||||||
"npm": {
|
"npm": {
|
||||||
@@ -80,11 +81,5 @@
|
|||||||
"hooks": {
|
"hooks": {
|
||||||
"after:bump": "npx auto-changelog --commit-limit false -p -u --hide-credit && npm run license:export && git add CHANGELOG.md && git add licenses.md"
|
"after:bump": "npx auto-changelog --commit-limit false -p -u --hide-credit && npm run license:export && git add CHANGELOG.md && git add licenses.md"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"volta": {
|
|
||||||
"node": "19.9.0"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"pnpm": "8"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
6927
pnpm-lock.yaml
generated
6927
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -1,49 +0,0 @@
|
|||||||
<footer class="mt-auto w-full max-w-[85rem] py-10 px-4 sm:px-6 lg:px-8 mx-auto">
|
|
||||||
<!-- Grid -->
|
|
||||||
<div class="text-center">
|
|
||||||
<div>
|
|
||||||
<a
|
|
||||||
class="flex-none text-xl font-semibold text-black dark:text-white"
|
|
||||||
href="/"
|
|
||||||
aria-label="Brand">LfK Kiosk</a
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
<!-- End Col -->
|
|
||||||
|
|
||||||
<div class="mt-3">
|
|
||||||
<p class="text-gray-500">
|
|
||||||
Powered by <a
|
|
||||||
class="font-semibold text-blue-600 hover:text-blue-700 dark:text-blue-500 dark:hover:text-blue-400"
|
|
||||||
target="_blank"
|
|
||||||
rel="noreferrer"
|
|
||||||
href="https://odit.services/?ref=lfks">ODIT.Services</a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p class="text-gray-500">© {new Date().getFullYear()} ODIT.Services</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="mt-3 space-x-2">
|
|
||||||
<a
|
|
||||||
class="inline-flex justify-center items-center text-center text-gray-500 hover:bg-gray-100 rounded-full focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2 focus:ring-offset-white transition dark:text-gray-500 dark:hover:text-gray-200 dark:hover:bg-gray-800"
|
|
||||||
target="_blank"
|
|
||||||
rel="noreferrer"
|
|
||||||
href="https://lauf-fuer-kaya.de/impressum"
|
|
||||||
>
|
|
||||||
Impressum
|
|
||||||
</a>
|
|
||||||
<p
|
|
||||||
class="inline-flex justify-center items-center text-center text-gray-500 hover:bg-gray-100 rounded-full focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2 focus:ring-offset-white transition dark:text-gray-500 dark:hover:text-gray-200 dark:hover:bg-gray-800"
|
|
||||||
>
|
|
||||||
|
|
|
||||||
</p>
|
|
||||||
<a
|
|
||||||
class="inline-flex justify-center items-center text-center text-gray-500 hover:bg-gray-100 rounded-full focus:outline-none focus:ring-2 focus:ring-blue-600 focus:ring-offset-2 focus:ring-offset-white transition dark:text-gray-500 dark:hover:text-gray-200 dark:hover:bg-gray-800"
|
|
||||||
target="_blank"
|
|
||||||
rel="noreferrer"
|
|
||||||
href="https://lauf-fuer-kaya.de/datenschutz"
|
|
||||||
>
|
|
||||||
Datenschutz
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
@@ -1,19 +1,16 @@
|
|||||||
<script>
|
<script>
|
||||||
import { OpenAPI } from '@odit/lfk-client-js';
|
import { OpenAPI } from '@odit/lfk-client-js';
|
||||||
import { env } from '$env/dynamic/public';
|
|
||||||
import '../app.postcss';
|
import '../app.postcss';
|
||||||
import '@fontsource/athiti';
|
import '@fontsource/athiti';
|
||||||
import { onMount } from 'svelte';
|
import { onMount } from 'svelte';
|
||||||
|
|
||||||
OpenAPI.BASE = env.PUBLIC_BASE_URL || 'https://run.lauf-fuer-kaya.de';
|
OpenAPI.BASE = 'https://run.lauf-fuer-kaya.de';
|
||||||
onMount(() => {
|
onMount(() => {
|
||||||
window.addEventListener('keydown', (e) => {
|
window.addEventListener('keydown', (e) => {
|
||||||
if(e.altKey) e.preventDefault();
|
// F1
|
||||||
// console.log(e);
|
if (e.keyCode === 112) e.preventDefault();
|
||||||
// const { key, altKey } = e;
|
// F5
|
||||||
// if (key === 'F4' && altKey) {
|
if (e.keyCode === 116) e.preventDefault();
|
||||||
// e.preventDefault();
|
|
||||||
// }
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -14,3 +14,32 @@
|
|||||||
{:else}
|
{:else}
|
||||||
<Login />
|
<Login />
|
||||||
{/if}
|
{/if}
|
||||||
|
<div class="fixed bottom-0 w-full text-center text-xl p-4 dark:text-white select-none">
|
||||||
|
{#if $userState.isLoggedIn}
|
||||||
|
<b class="font-bold">LfK!2025</b> powered by
|
||||||
|
<b class="font-bold">ODIT.Services</b>
|
||||||
|
{:else}
|
||||||
|
<a
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
target="_blank"
|
||||||
|
href="https://lauf-fuer-kaya.de/datenschutz/"
|
||||||
|
class="underline">Datenschutzerklärung</a
|
||||||
|
>
|
||||||
|
|
|
||||||
|
<a
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
target="_blank"
|
||||||
|
href="https://lauf-fuer-kaya.de/impressum/"
|
||||||
|
class="underline">Impressum</a
|
||||||
|
>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<b class="font-bold">LfK!2025</b> powered by
|
||||||
|
<a
|
||||||
|
rel="noopener noreferrer"
|
||||||
|
target="_blank"
|
||||||
|
href="https://odit.services?ref=lfk"
|
||||||
|
class="underline">ODIT.Services</a
|
||||||
|
>
|
||||||
|
{/if}
|
||||||
|
</div>
|
||||||
|
|||||||
@@ -75,6 +75,7 @@
|
|||||||
<div class="relative">
|
<div class="relative">
|
||||||
<input
|
<input
|
||||||
bind:value={username}
|
bind:value={username}
|
||||||
|
autocomplete="one-time-code"
|
||||||
type="username"
|
type="username"
|
||||||
id="username"
|
id="username"
|
||||||
name="username"
|
name="username"
|
||||||
@@ -94,6 +95,7 @@
|
|||||||
<div class="relative">
|
<div class="relative">
|
||||||
<input
|
<input
|
||||||
bind:value={password}
|
bind:value={password}
|
||||||
|
autocomplete="one-time-code"
|
||||||
type="password"
|
type="password"
|
||||||
id="password"
|
id="password"
|
||||||
name="password"
|
name="password"
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
$: firstname = '';
|
$: firstname = '';
|
||||||
$: lastname = '';
|
$: lastname = '';
|
||||||
|
$: email = '';
|
||||||
$: doneButtonEnabled = false;
|
$: doneButtonEnabled = false;
|
||||||
$: showResult = false;
|
$: showResult = false;
|
||||||
|
|
||||||
@@ -31,9 +32,16 @@
|
|||||||
|
|
||||||
async function register() {
|
async function register() {
|
||||||
try {
|
try {
|
||||||
|
let emailToSend = null;
|
||||||
|
if (email !== '') {
|
||||||
|
if (email.includes('@')) {
|
||||||
|
emailToSend = email;
|
||||||
|
}
|
||||||
|
}
|
||||||
response = (await RunnerService.runnerControllerPost({
|
response = (await RunnerService.runnerControllerPost({
|
||||||
firstname,
|
firstname,
|
||||||
lastname,
|
lastname,
|
||||||
|
email: emailToSend,
|
||||||
group
|
group
|
||||||
})) as ResponseRunner;
|
})) as ResponseRunner;
|
||||||
showResult = true;
|
showResult = true;
|
||||||
@@ -82,14 +90,14 @@
|
|||||||
>
|
>
|
||||||
<div class="w-full max-w-md mx-auto p-6">
|
<div class="w-full max-w-md mx-auto p-6">
|
||||||
<!-- <div
|
<!-- <div
|
||||||
class="mt-7 bg-white border border-gray-200 rounded-xl shadow-sm dark:bg-gray-800 dark:border-gray-700"
|
class="mt-7 bg-white border border-gray-200 rounded-xl shadow-sm dark:bg-gray-800 dark:border-gray-200"
|
||||||
> -->
|
> -->
|
||||||
<div class="p-4 sm:p-7">
|
<div class="p-4 sm:p-7">
|
||||||
<div class="mt-5">
|
<div class="mt-5">
|
||||||
<!-- Form -->
|
<!-- Form -->
|
||||||
{#if !showResult}
|
{#if !showResult}
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<h1 class="block text-7xl font-bold text-gray-800 dark:text-white">LfK!2023</h1>
|
<h1 class="block text-7xl font-bold text-gray-800 dark:text-white">LfK!2025</h1>
|
||||||
<h1 class="block text-4xl font-bold text-gray-800 dark:text-white">Registrierung</h1>
|
<h1 class="block text-4xl font-bold text-gray-800 dark:text-white">Registrierung</h1>
|
||||||
<!-- <p class="mt-2 text-sm text-gray-600 dark:text-gray-400">Melde dich für den LfK an</p> -->
|
<!-- <p class="mt-2 text-sm text-gray-600 dark:text-gray-400">Melde dich für den LfK an</p> -->
|
||||||
</div>
|
</div>
|
||||||
@@ -102,13 +110,18 @@
|
|||||||
<input
|
<input
|
||||||
on:keydown={(e) => {
|
on:keydown={(e) => {
|
||||||
if (e.keyCode === 13) {
|
if (e.keyCode === 13) {
|
||||||
|
e.preventDefault();
|
||||||
|
document.getElementById('lastname')?.focus();
|
||||||
|
}
|
||||||
|
if (e.keyCode === 40) {
|
||||||
document.getElementById('lastname')?.focus();
|
document.getElementById('lastname')?.focus();
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
type="text"
|
type="text"
|
||||||
|
autocomplete="one-time-code"
|
||||||
id="firstname"
|
id="firstname"
|
||||||
name="firstname"
|
name="firstname"
|
||||||
class="py-3 px-4 block w-full border-gray-200 rounded-md focus:border-blue-500 focus:ring-blue-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 border"
|
class="font-semibold placeholder:font-normal placeholder:text-black dark:placeholder:text-gray-200 py-3 px-4 block w-full border-gray-500 rounded-md focus:border-blue-500 focus:ring-blue-500 dark:bg-gray-800 dark:border-gray-200 dark:text-white border"
|
||||||
required
|
required
|
||||||
placeholder="Vorname"
|
placeholder="Vorname"
|
||||||
bind:value={firstname}
|
bind:value={firstname}
|
||||||
@@ -147,10 +160,23 @@
|
|||||||
<label for="lastname" class="block text-lg font-bold mb-2 sr-only">Nachname</label>
|
<label for="lastname" class="block text-lg font-bold mb-2 sr-only">Nachname</label>
|
||||||
<div class="relative">
|
<div class="relative">
|
||||||
<input
|
<input
|
||||||
|
on:keydown={(e) => {
|
||||||
|
if (e.keyCode === 13) {
|
||||||
|
e.preventDefault();
|
||||||
|
document.getElementById('email')?.focus();
|
||||||
|
}
|
||||||
|
if (e.keyCode === 38) {
|
||||||
|
document.getElementById('firstname')?.focus();
|
||||||
|
}
|
||||||
|
if (e.keyCode === 40) {
|
||||||
|
document.getElementById('email')?.focus();
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
autocomplete="one-time-code"
|
||||||
type="lastname"
|
type="lastname"
|
||||||
id="lastname"
|
id="lastname"
|
||||||
name="lastname"
|
name="lastname"
|
||||||
class="py-3 px-4 block w-full border-gray-200 rounded-md focus:border-blue-500 focus:ring-blue-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 border"
|
class="font-semibold placeholder:font-normal placeholder:text-black dark:placeholder:text-gray-200 py-3 px-4 block w-full border-gray-500 rounded-md focus:border-blue-500 focus:ring-blue-500 dark:bg-gray-800 dark:border-gray-200 dark:text-white border"
|
||||||
required
|
required
|
||||||
placeholder="Nachname"
|
placeholder="Nachname"
|
||||||
aria-describedby="lastname-error"
|
aria-describedby="lastname-error"
|
||||||
@@ -184,7 +210,69 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- End Form Group -->
|
<!-- End Form Group -->
|
||||||
|
|
||||||
|
<!-- Form Group -->
|
||||||
|
<div>
|
||||||
|
<label for="email" class="block text-lg font-bold mb-2 sr-only"
|
||||||
|
>E-Mail (optional)</label
|
||||||
|
>
|
||||||
|
<div class="relative">
|
||||||
|
<input
|
||||||
|
on:keydown={(e) => {
|
||||||
|
if (e.keyCode === 13) {
|
||||||
|
e.preventDefault();
|
||||||
|
document.getElementById('submit')?.focus();
|
||||||
|
}
|
||||||
|
if (e.keyCode === 38) {
|
||||||
|
document.getElementById('lastname')?.focus();
|
||||||
|
}
|
||||||
|
if (e.keyCode === 40) {
|
||||||
|
document.getElementById('submit')?.focus();
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
autocomplete="one-time-code"
|
||||||
|
type="email"
|
||||||
|
id="email"
|
||||||
|
name="email"
|
||||||
|
class="font-semibold placeholder:font-normal placeholder:text-black dark:placeholder:text-gray-200 py-3 px-4 block w-full border-gray-500 rounded-md focus:border-blue-500 focus:ring-blue-500 dark:bg-gray-800 dark:border-gray-200 dark:text-white border"
|
||||||
|
placeholder="E-Mail (optional)"
|
||||||
|
aria-describedby="lastname-error"
|
||||||
|
bind:value={email}
|
||||||
|
/>
|
||||||
|
<!-- <div
|
||||||
|
class:hidden={lastname || lastname.length != 0}
|
||||||
|
class="absolute inset-y-0 right-0 flex items-center pointer-events-none pr-3"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
class="h-5 w-5 text-red-500"
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
fill="currentColor"
|
||||||
|
viewBox="0 0 16 16"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM8 4a.905.905 0 0 0-.9.995l.35 3.507a.552.552 0 0 0 1.1 0l.35-3.507A.905.905 0 0 0 8 4zm.002 6a1 1 0 1 0 0 2 1 1 0 0 0 0-2z"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
</div> -->
|
||||||
|
</div>
|
||||||
|
<!-- <p
|
||||||
|
class:hidden={lastname || lastname.length != 0}
|
||||||
|
class="text-xs text-red-600 mt-2"
|
||||||
|
id="lastname-error"
|
||||||
|
>
|
||||||
|
Bitte gebe deinen Nachnamen ein
|
||||||
|
</p> -->
|
||||||
|
</div>
|
||||||
|
<!-- End Form Group -->
|
||||||
|
|
||||||
<button
|
<button
|
||||||
|
on:keydown={(e) => {
|
||||||
|
if (e.keyCode === 38) {
|
||||||
|
document.getElementById('email')?.focus();
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
id="submit"
|
||||||
type="submit"
|
type="submit"
|
||||||
disabled={!firstname || !lastname}
|
disabled={!firstname || !lastname}
|
||||||
class="py-3 px-4 inline-flex justify-center items-center gap-2 rounded-md border border-transparent font-semibold disabled:opacity-70 bg-blue-600 text-white hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-all dark:focus:ring-offset-gray-800"
|
class="py-3 px-4 inline-flex justify-center items-center gap-2 rounded-md border border-transparent font-semibold disabled:opacity-70 bg-blue-600 text-white hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-all dark:focus:ring-offset-gray-800"
|
||||||
@@ -229,27 +317,3 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="fixed bottom-0 w-full text-center text-xl p-4 dark:text-white select-none">
|
|
||||||
<a
|
|
||||||
rel="noopener noreferrer"
|
|
||||||
target="_blank"
|
|
||||||
href="https://lauf-fuer-kaya.de/datenschutz/"
|
|
||||||
class="underline">Datenschutzerklärung</a
|
|
||||||
>
|
|
||||||
|
|
|
||||||
<a
|
|
||||||
rel="noopener noreferrer"
|
|
||||||
target="_blank"
|
|
||||||
href="https://lauf-fuer-kaya.de/impressum/"
|
|
||||||
class="underline">Impressum</a
|
|
||||||
>
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<b class="font-bold">LfK!2023</b> powered by
|
|
||||||
<a
|
|
||||||
rel="noopener noreferrer"
|
|
||||||
target="_blank"
|
|
||||||
href="https://odit.services?ref=lfk"
|
|
||||||
class="underline">ODIT.Services</a
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
import preprocess from 'svelte-preprocess';
|
import preprocess from 'svelte-preprocess';
|
||||||
import adapter from '@sveltejs/adapter-static';
|
import adapter from '@sveltejs/adapter-static';
|
||||||
import { vitePreprocess } from '@sveltejs/kit/vite';
|
|
||||||
|
|
||||||
/** @type {import('@sveltejs/kit').Config} */
|
/** @type {import('@sveltejs/kit').Config} */
|
||||||
const config = {
|
const config = {
|
||||||
// Consult https://kit.svelte.dev/docs/integrations#preprocessors
|
// Consult https://kit.svelte.dev/docs/integrations#preprocessors
|
||||||
// for more information about preprocessors
|
// for more information about preprocessors
|
||||||
preprocess: [
|
preprocess: [
|
||||||
vitePreprocess(),
|
|
||||||
preprocess({
|
preprocess({
|
||||||
postcss: true
|
postcss: true
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user