Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
7516d3579f
|
|||
|
2c503f9b03
|
|||
|
6a0b014d55
|
|||
|
b7f792c6f9
|
|||
|
528b025e55
|
|||
|
368e97c6bb
|
|||
|
6acd8bb634
|
|||
|
6dcdba6568
|
|||
|
525c096f7a
|
|||
|
0de50822cd
|
|||
|
0177c50651
|
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
|
||||
@@ -1,40 +0,0 @@
|
||||
steps:
|
||||
- name: build edge
|
||||
image: woodpeckerci/plugin-docker-buildx
|
||||
settings:
|
||||
repo: registry.odit.services/lfk/kiosk
|
||||
tags:
|
||||
- edge
|
||||
registry: registry.odit.services
|
||||
platforms: linux/amd64,linux/arm64
|
||||
cache_from: registry.odit.services/lfk/kiosk:edge
|
||||
username:
|
||||
from_secret: odit-registry-builder-username
|
||||
password:
|
||||
from_secret: odit-registry-builder-password
|
||||
secrets:
|
||||
- source: odit-npm-cache-url
|
||||
target: NPM_REGISTRY_URL
|
||||
when:
|
||||
branch: dev
|
||||
- name: build latest
|
||||
image: woodpeckerci/plugin-docker-buildx
|
||||
settings:
|
||||
repo: registry.odit.services/lfk/kiosk
|
||||
tags:
|
||||
- latest
|
||||
registry: registry.odit.services
|
||||
platforms: linux/amd64,linux/arm64
|
||||
username:
|
||||
from_secret: odit-registry-builder-username
|
||||
password:
|
||||
from_secret: odit-registry-builder-password
|
||||
secrets:
|
||||
- source: odit-npm-cache-url
|
||||
target: NPM_REGISTRY_URL
|
||||
when:
|
||||
branch: main
|
||||
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
@@ -1,22 +0,0 @@
|
||||
steps:
|
||||
- name: type checks
|
||||
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
|
||||
secrets:
|
||||
- source: odit-npm-cache-url
|
||||
target: NPM_REGISTRY_URL
|
||||
- name: build check
|
||||
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
|
||||
secrets:
|
||||
- source: odit-npm-cache-url
|
||||
target: NPM_REGISTRY_URL
|
||||
when:
|
||||
event:
|
||||
- pull_request
|
||||
30
CHANGELOG.md
30
CHANGELOG.md
@@ -2,9 +2,39 @@
|
||||
|
||||
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,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
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@lfk/kiosk",
|
||||
"version": "1.1.0",
|
||||
"version": "1.1.4",
|
||||
"private": false,
|
||||
"license": "MIT",
|
||||
"repository": "https://git.odit.services/lfk/kiosk",
|
||||
@@ -68,11 +68,11 @@
|
||||
"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": {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -32,10 +32,16 @@
|
||||
|
||||
async function register() {
|
||||
try {
|
||||
let emailToSend = null;
|
||||
if (email !== '') {
|
||||
if (email.includes('@')) {
|
||||
emailToSend = email;
|
||||
}
|
||||
}
|
||||
response = (await RunnerService.runnerControllerPost({
|
||||
firstname,
|
||||
lastname,
|
||||
email,
|
||||
email: emailToSend,
|
||||
group
|
||||
})) as ResponseRunner;
|
||||
showResult = true;
|
||||
@@ -84,7 +90,7 @@
|
||||
>
|
||||
<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">
|
||||
@@ -104,13 +110,18 @@
|
||||
<input
|
||||
on:keydown={(e) => {
|
||||
if (e.keyCode === 13) {
|
||||
e.preventDefault();
|
||||
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="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
|
||||
placeholder="Vorname"
|
||||
bind:value={firstname}
|
||||
@@ -149,10 +160,23 @@
|
||||
<label for="lastname" class="block text-lg font-bold mb-2 sr-only">Nachname</label>
|
||||
<div class="relative">
|
||||
<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"
|
||||
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="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
|
||||
placeholder="Nachname"
|
||||
aria-describedby="lastname-error"
|
||||
@@ -188,14 +212,28 @@
|
||||
|
||||
<!-- Form Group -->
|
||||
<div>
|
||||
<label for="email" class="block text-lg font-bold mb-2 sr-only">E-Mail (optional)</label>
|
||||
<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="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"
|
||||
required
|
||||
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}
|
||||
@@ -229,6 +267,12 @@
|
||||
<!-- End Form Group -->
|
||||
|
||||
<button
|
||||
on:keydown={(e) => {
|
||||
if (e.keyCode === 38) {
|
||||
document.getElementById('email')?.focus();
|
||||
}
|
||||
}}
|
||||
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"
|
||||
|
||||
Reference in New Issue
Block a user