Compare commits
	
		
			15 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						6a0b014d55
	
				 | 
					
					
						|||
| 
						
						
							
						
						b7f792c6f9
	
				 | 
					
					
						|||
| 
						
						
							
						
						528b025e55
	
				 | 
					
					
						|||
| 
						
						
							
						
						368e97c6bb
	
				 | 
					
					
						|||
| 
						
						
							
						
						6acd8bb634
	
				 | 
					
					
						|||
| 
						
						
							
						
						6dcdba6568
	
				 | 
					
					
						|||
| 
						
						
							
						
						525c096f7a
	
				 | 
					
					
						|||
| 
						
						
							
						
						0de50822cd
	
				 | 
					
					
						|||
| 
						
						
							
						
						0177c50651
	
				 | 
					
					
						|||
| 
						
						
							
						
						f7575f46e4
	
				 | 
					
					
						|||
| 
						
						
							
						
						a8d90d4882
	
				 | 
					
					
						|||
| 
						
						
							
						
						a2ffa5055e
	
				 | 
					
					
						|||
| 
						
						
							
						
						b969932582
	
				 | 
					
					
						|||
| 
						
						
							
						
						72ace57cb3
	
				 | 
					
					
						|||
| 
						
						
							
						
						16f9228390
	
				 | 
					
					
						
							
								
								
									
										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
 | 
			
		||||
							
								
								
									
										35
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -2,10 +2,43 @@
 | 
			
		||||
 | 
			
		||||
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)
 | 
			
		||||
#### [1.1.3](https://git.odit.services/lfk/kiosk/compare/1.1.2...1.1.3)
 | 
			
		||||
 | 
			
		||||
- 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)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,9 @@
 | 
			
		||||
FROM registry.odit.services/hub/library/node:19.9.0-alpine3.16 AS build
 | 
			
		||||
ARG NPM_REGISTRY_URL=registry.npmjs.org
 | 
			
		||||
FROM registry.odit.services/hub/library/node:23.10.0-alpine3.21 AS build
 | 
			
		||||
# ARG NPM_REGISTRY_URL=registry.npmjs.org
 | 
			
		||||
WORKDIR /app
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
COPY src ./src
 | 
			
		||||
@@ -11,5 +11,5 @@ COPY static ./static
 | 
			
		||||
RUN pnpm build
 | 
			
		||||
 | 
			
		||||
# 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
 | 
			
		||||
							
								
								
									
										5342
									
								
								licenses.md
									
									
									
									
									
								
							
							
						
						
									
										5342
									
								
								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",
 | 
			
		||||
	"version": "1.0.0",
 | 
			
		||||
	"version": "1.1.3",
 | 
			
		||||
	"private": false,
 | 
			
		||||
	"license": "MIT",
 | 
			
		||||
	"repository": "https://git.odit.services/lfk/kiosk",
 | 
			
		||||
@@ -33,45 +33,46 @@
 | 
			
		||||
		"license:export": "license-exporter --markdown && git stage licenses.md"
 | 
			
		||||
	},
 | 
			
		||||
	"devDependencies": {
 | 
			
		||||
		"@odit/license-exporter": "0.0.12",
 | 
			
		||||
		"@sveltejs/adapter-static": "2.0.2",
 | 
			
		||||
		"@sveltejs/kit": "1.15.7",
 | 
			
		||||
		"@types/bwip-js": "^3.2.0",
 | 
			
		||||
		"@typescript-eslint/eslint-plugin": "5.59.0",
 | 
			
		||||
		"@typescript-eslint/parser": "5.59.0",
 | 
			
		||||
		"auto-changelog": "2.4.0",
 | 
			
		||||
		"autoprefixer": "10.4.14",
 | 
			
		||||
		"eslint": "8.38.0",
 | 
			
		||||
		"eslint-config-prettier": "8.8.0",
 | 
			
		||||
		"eslint-plugin-svelte3": "4.0.0",
 | 
			
		||||
		"postcss": "8.4.22",
 | 
			
		||||
		"postcss-load-config": "4.0.1",
 | 
			
		||||
		"prettier": "2.8.7",
 | 
			
		||||
		"prettier-plugin-svelte": "2.10.0",
 | 
			
		||||
		"release-it": "15.10.1",
 | 
			
		||||
		"svelte": "3.58.0",
 | 
			
		||||
		"svelte-check": "3.2.0",
 | 
			
		||||
		"svelte-preprocess": "5.0.3",
 | 
			
		||||
		"tailwindcss": "3.3.1",
 | 
			
		||||
		"tslib": "2.5.0",
 | 
			
		||||
		"typescript": "5.0.4",
 | 
			
		||||
		"vite": "4.2.2"
 | 
			
		||||
		"@odit/license-exporter": "0.2.0",
 | 
			
		||||
		"@philippdormann/release-it": "^1.0.0",
 | 
			
		||||
		"@sveltejs/adapter-static": "3.0.6",
 | 
			
		||||
		"@sveltejs/kit": "2.12.0",
 | 
			
		||||
		"@sveltejs/vite-plugin-svelte": "^5.0.2",
 | 
			
		||||
		"@types/bwip-js": "^3.2.3",
 | 
			
		||||
		"@typescript-eslint/eslint-plugin": "8.18.0",
 | 
			
		||||
		"@typescript-eslint/parser": "8.18.0",
 | 
			
		||||
		"auto-changelog": "2.5.0",
 | 
			
		||||
		"autoprefixer": "10.4.20",
 | 
			
		||||
		"eslint": "9.17.0",
 | 
			
		||||
		"eslint-config-prettier": "9.1.0",
 | 
			
		||||
		"postcss": "8.4.49",
 | 
			
		||||
		"postcss-load-config": "6.0.1",
 | 
			
		||||
		"prettier": "3.4.2",
 | 
			
		||||
		"prettier-plugin-svelte": "3.3.2",
 | 
			
		||||
		"svelte": "5.14.0",
 | 
			
		||||
		"svelte-check": "4.1.1",
 | 
			
		||||
		"svelte-preprocess": "6.0.3",
 | 
			
		||||
		"tailwindcss": "3.4.16",
 | 
			
		||||
		"tslib": "2.8.1",
 | 
			
		||||
		"typescript": "5.7.2",
 | 
			
		||||
		"vite": "6.0.3"
 | 
			
		||||
	},
 | 
			
		||||
	"type": "module",
 | 
			
		||||
	"dependencies": {
 | 
			
		||||
		"@fontsource/athiti": "^4.5.10",
 | 
			
		||||
		"@odit/lfk-client-js": "1.0.1",
 | 
			
		||||
		"bwip-js": "3.4.0"
 | 
			
		||||
		"@fontsource/athiti": "^5.1.0",
 | 
			
		||||
		"@odit/lfk-client-js": "1.1.3",
 | 
			
		||||
		"bwip-js": "4.5.1",
 | 
			
		||||
		"eslint-plugin-svelte": "^2.46.1"
 | 
			
		||||
	},
 | 
			
		||||
	"release-it": {
 | 
			
		||||
		"git": {
 | 
			
		||||
			"commit": true,
 | 
			
		||||
			"requireCleanWorkingDir": false,
 | 
			
		||||
			"commitMessage": "🚀Bumped version to ${version}",
 | 
			
		||||
			"commitMessage": "chore(release): ${version}",
 | 
			
		||||
			"requireBranch": "main",
 | 
			
		||||
			"push": true,
 | 
			
		||||
			"tag": true,
 | 
			
		||||
			"tagName": null,
 | 
			
		||||
			"tagName": "${version}",
 | 
			
		||||
			"tagAnnotation": "${version}"
 | 
			
		||||
		},
 | 
			
		||||
		"npm": {
 | 
			
		||||
@@ -80,11 +81,5 @@
 | 
			
		||||
		"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"
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	"volta": {
 | 
			
		||||
		"node": "19.9.0"
 | 
			
		||||
	},
 | 
			
		||||
	"engines": {
 | 
			
		||||
		"pnpm": "8"
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6923
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										6923
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -1,11 +1,10 @@
 | 
			
		||||
<script>
 | 
			
		||||
	import { OpenAPI } from '@odit/lfk-client-js';
 | 
			
		||||
	import { env } from '$env/dynamic/public';
 | 
			
		||||
	import '../app.postcss';
 | 
			
		||||
	import '@fontsource/athiti';
 | 
			
		||||
	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(() => {
 | 
			
		||||
		window.addEventListener('keydown', (e) => {
 | 
			
		||||
			// F1
 | 
			
		||||
 
 | 
			
		||||
@@ -16,7 +16,7 @@
 | 
			
		||||
{/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!2023</b> powered by
 | 
			
		||||
		<b class="font-bold">LfK!2025</b> powered by
 | 
			
		||||
		<b class="font-bold">ODIT.Services</b>
 | 
			
		||||
	{:else}
 | 
			
		||||
		<a
 | 
			
		||||
@@ -34,7 +34,7 @@
 | 
			
		||||
		>
 | 
			
		||||
		<br />
 | 
			
		||||
		<br />
 | 
			
		||||
		<b class="font-bold">LfK!2023</b> powered by
 | 
			
		||||
		<b class="font-bold">LfK!2025</b> powered by
 | 
			
		||||
		<a
 | 
			
		||||
			rel="noopener noreferrer"
 | 
			
		||||
			target="_blank"
 | 
			
		||||
 
 | 
			
		||||
@@ -75,6 +75,7 @@
 | 
			
		||||
								<div class="relative">
 | 
			
		||||
									<input
 | 
			
		||||
										bind:value={username}
 | 
			
		||||
										autocomplete="one-time-code"
 | 
			
		||||
										type="username"
 | 
			
		||||
										id="username"
 | 
			
		||||
										name="username"
 | 
			
		||||
@@ -94,6 +95,7 @@
 | 
			
		||||
								<div class="relative">
 | 
			
		||||
									<input
 | 
			
		||||
										bind:value={password}
 | 
			
		||||
										autocomplete="one-time-code"
 | 
			
		||||
										type="password"
 | 
			
		||||
										id="password"
 | 
			
		||||
										name="password"
 | 
			
		||||
 
 | 
			
		||||
@@ -6,6 +6,7 @@
 | 
			
		||||
 | 
			
		||||
	$: firstname = '';
 | 
			
		||||
	$: lastname = '';
 | 
			
		||||
	$: email = '';
 | 
			
		||||
	$: doneButtonEnabled = false;
 | 
			
		||||
	$: showResult = false;
 | 
			
		||||
 | 
			
		||||
@@ -31,9 +32,16 @@
 | 
			
		||||
 | 
			
		||||
	async function register() {
 | 
			
		||||
		try {
 | 
			
		||||
			let emailToSend = null;
 | 
			
		||||
			if (email !== '') {
 | 
			
		||||
				if (email.includes('@')) {
 | 
			
		||||
					emailToSend = email;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			response = (await RunnerService.runnerControllerPost({
 | 
			
		||||
				firstname,
 | 
			
		||||
				lastname,
 | 
			
		||||
				email: emailToSend,
 | 
			
		||||
				group
 | 
			
		||||
			})) as ResponseRunner;
 | 
			
		||||
			showResult = true;
 | 
			
		||||
@@ -82,14 +90,14 @@
 | 
			
		||||
>
 | 
			
		||||
	<div class="w-full max-w-md mx-auto p-6">
 | 
			
		||||
		<!-- <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="mt-5">
 | 
			
		||||
				<!-- Form -->
 | 
			
		||||
				{#if !showResult}
 | 
			
		||||
					<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>
 | 
			
		||||
						<!-- <p class="mt-2 text-sm text-gray-600 dark:text-gray-400">Melde dich für den LfK an</p> -->
 | 
			
		||||
					</div>
 | 
			
		||||
@@ -104,11 +112,15 @@
 | 
			
		||||
											if (e.keyCode === 13) {
 | 
			
		||||
												document.getElementById('lastname')?.focus();
 | 
			
		||||
											}
 | 
			
		||||
											if (e.keyCode === 40) {
 | 
			
		||||
												document.getElementById('lastname')?.focus();
 | 
			
		||||
											}
 | 
			
		||||
										}}
 | 
			
		||||
										type="text"
 | 
			
		||||
										autocomplete="one-time-code"
 | 
			
		||||
										id="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="placeholder:text-black dark:placeholder:text-white 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-gray-400 border"
 | 
			
		||||
										required
 | 
			
		||||
										placeholder="Vorname"
 | 
			
		||||
										bind:value={firstname}
 | 
			
		||||
@@ -147,10 +159,23 @@
 | 
			
		||||
								<label for="lastname" class="block text-lg font-bold mb-2 sr-only">Nachname</label>
 | 
			
		||||
								<div class="relative">
 | 
			
		||||
									<input
 | 
			
		||||
										on:keydown={(e) => {
 | 
			
		||||
											console.log(e.keyCode);
 | 
			
		||||
											if (e.keyCode === 13) {
 | 
			
		||||
												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"
 | 
			
		||||
										id="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="placeholder:text-black dark:placeholder:text-white 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-gray-400 border"
 | 
			
		||||
										required
 | 
			
		||||
										placeholder="Nachname"
 | 
			
		||||
										aria-describedby="lastname-error"
 | 
			
		||||
@@ -184,7 +209,64 @@
 | 
			
		||||
							</div>
 | 
			
		||||
							<!-- 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) => {
 | 
			
		||||
											console.log(e.keyCode);
 | 
			
		||||
											if (e.keyCode === 13) {
 | 
			
		||||
												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="placeholder:text-black dark:placeholder:text-white 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-gray-400 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
 | 
			
		||||
								id="submit"
 | 
			
		||||
								type="submit"
 | 
			
		||||
								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"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,11 @@
 | 
			
		||||
import preprocess from 'svelte-preprocess';
 | 
			
		||||
import adapter from '@sveltejs/adapter-static';
 | 
			
		||||
import { vitePreprocess } from '@sveltejs/kit/vite';
 | 
			
		||||
 | 
			
		||||
/** @type {import('@sveltejs/kit').Config} */
 | 
			
		||||
const config = {
 | 
			
		||||
	// Consult https://kit.svelte.dev/docs/integrations#preprocessors
 | 
			
		||||
	// for more information about preprocessors
 | 
			
		||||
	preprocess: [
 | 
			
		||||
		vitePreprocess(),
 | 
			
		||||
		preprocess({
 | 
			
		||||
			postcss: true
 | 
			
		||||
		})
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user