Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
e32c2f3069 | |||
83826f966b | |||
1665fd67ae |
@ -2,9 +2,17 @@
|
|||||||
|
|
||||||
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.5](https://git.odit.services/lfk/kiosk/compare/1.1.4...1.1.5)
|
||||||
|
|
||||||
|
- chore(deps): bump [`1665fd6`](https://git.odit.services/lfk/kiosk/commit/1665fd67ae7153ece759edbe3e74262eb207a2f6)
|
||||||
|
- feat: clock widget, general cleanups [`83826f9`](https://git.odit.services/lfk/kiosk/commit/83826f966bb0de2402889d6574c6db7730831119)
|
||||||
|
|
||||||
#### [1.1.4](https://git.odit.services/lfk/kiosk/compare/1.1.3...1.1.4)
|
#### [1.1.4](https://git.odit.services/lfk/kiosk/compare/1.1.3...1.1.4)
|
||||||
|
|
||||||
|
> 2 April 2025
|
||||||
|
|
||||||
- feat: improve registration flow [`2c503f9`](https://git.odit.services/lfk/kiosk/commit/2c503f9b0333b668730c4eb11deb5184ee49f295)
|
- feat: improve registration flow [`2c503f9`](https://git.odit.services/lfk/kiosk/commit/2c503f9b0333b668730c4eb11deb5184ee49f295)
|
||||||
|
- chore(release): 1.1.4 [`7516d35`](https://git.odit.services/lfk/kiosk/commit/7516d3579f31166f172cd5f5bcf071366d9c59ec)
|
||||||
|
|
||||||
#### [1.1.3](https://git.odit.services/lfk/kiosk/compare/1.1.2...1.1.3)
|
#### [1.1.3](https://git.odit.services/lfk/kiosk/compare/1.1.2...1.1.3)
|
||||||
|
|
||||||
|
4552
licenses.md
4552
licenses.md
File diff suppressed because it is too large
Load Diff
42
package.json
42
package.json
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@lfk/kiosk",
|
"name": "@lfk/kiosk",
|
||||||
"version": "1.1.4",
|
"version": "1.1.5",
|
||||||
"private": false,
|
"private": false,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"repository": "https://git.odit.services/lfk/kiosk",
|
"repository": "https://git.odit.services/lfk/kiosk",
|
||||||
@ -35,34 +35,32 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@odit/license-exporter": "0.2.0",
|
"@odit/license-exporter": "0.2.0",
|
||||||
"@philippdormann/release-it": "^1.0.0",
|
"@philippdormann/release-it": "^1.0.0",
|
||||||
"@sveltejs/adapter-static": "3.0.6",
|
"@sveltejs/adapter-static": "3.0.8",
|
||||||
"@sveltejs/kit": "2.12.0",
|
"@sveltejs/kit": "2.20.4",
|
||||||
"@sveltejs/vite-plugin-svelte": "^5.0.2",
|
"@sveltejs/vite-plugin-svelte": "^5.0.3",
|
||||||
"@types/bwip-js": "^3.2.3",
|
"@types/bwip-js": "^3.2.3",
|
||||||
"@typescript-eslint/eslint-plugin": "8.18.0",
|
"@typescript-eslint/eslint-plugin": "8.29.0",
|
||||||
"@typescript-eslint/parser": "8.18.0",
|
"@typescript-eslint/parser": "8.29.0",
|
||||||
"auto-changelog": "2.5.0",
|
"auto-changelog": "2.5.0",
|
||||||
"autoprefixer": "10.4.20",
|
"eslint": "9.24.0",
|
||||||
"eslint": "9.17.0",
|
"eslint-config-prettier": "10.1.1",
|
||||||
"eslint-config-prettier": "9.1.0",
|
"prettier": "3.5.3",
|
||||||
"postcss": "8.4.49",
|
"prettier-plugin-svelte": "3.3.3",
|
||||||
"postcss-load-config": "6.0.1",
|
"svelte": "5.25.7",
|
||||||
"prettier": "3.4.2",
|
"svelte-check": "4.1.5",
|
||||||
"prettier-plugin-svelte": "3.3.2",
|
|
||||||
"svelte": "5.14.0",
|
|
||||||
"svelte-check": "4.1.1",
|
|
||||||
"svelte-preprocess": "6.0.3",
|
"svelte-preprocess": "6.0.3",
|
||||||
"tailwindcss": "3.4.16",
|
|
||||||
"tslib": "2.8.1",
|
"tslib": "2.8.1",
|
||||||
"typescript": "5.7.2",
|
"typescript": "5.8.3",
|
||||||
"vite": "6.0.3"
|
"vite": "6.2.5"
|
||||||
},
|
},
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fontsource/athiti": "^5.1.0",
|
"@fontsource/athiti": "^5.2.5",
|
||||||
"@odit/lfk-client-js": "1.1.3",
|
"@odit/lfk-client-js": "1.2.0",
|
||||||
"bwip-js": "4.5.1",
|
"@tailwindcss/vite": "^4.1.3",
|
||||||
"eslint-plugin-svelte": "^2.46.1"
|
"bwip-js": "4.5.3",
|
||||||
|
"eslint-plugin-svelte": "^3.5.1",
|
||||||
|
"tailwindcss": "^4.1.3"
|
||||||
},
|
},
|
||||||
"release-it": {
|
"release-it": {
|
||||||
"git": {
|
"git": {
|
||||||
|
1855
pnpm-lock.yaml
generated
1855
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
4
pnpm-workspace.yaml
Normal file
4
pnpm-workspace.yaml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
onlyBuiltDependencies:
|
||||||
|
- '@sveltejs/kit'
|
||||||
|
- esbuild
|
||||||
|
- svelte-preprocess
|
@ -1,13 +0,0 @@
|
|||||||
const tailwindcss = require('tailwindcss');
|
|
||||||
const autoprefixer = require('autoprefixer');
|
|
||||||
|
|
||||||
const config = {
|
|
||||||
plugins: [
|
|
||||||
//Some plugins, like tailwindcss/nesting, need to run before Tailwind,
|
|
||||||
tailwindcss(),
|
|
||||||
//But others, like autoprefixer, need to run after,
|
|
||||||
autoprefixer
|
|
||||||
]
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = config;
|
|
4
src/app.css
Normal file
4
src/app.css
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
@import 'tailwindcss';
|
||||||
|
* {
|
||||||
|
font-family: 'Athiti', sans-serif;
|
||||||
|
}
|
@ -5,11 +5,6 @@
|
|||||||
<link rel="icon" href="%sveltekit.assets%/favicon.png" />
|
<link rel="icon" href="%sveltekit.assets%/favicon.png" />
|
||||||
<meta name="viewport" content="width=device-width" />
|
<meta name="viewport" content="width=device-width" />
|
||||||
%sveltekit.head%
|
%sveltekit.head%
|
||||||
<style>
|
|
||||||
body {
|
|
||||||
font-family: 'Athiti', sans-serif;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
</head>
|
||||||
<body data-sveltekit-preload-data="hover">
|
<body data-sveltekit-preload-data="hover">
|
||||||
<div style="display: contents">%sveltekit.body%</div>
|
<div style="display: contents">%sveltekit.body%</div>
|
||||||
|
@ -1,4 +0,0 @@
|
|||||||
/* Write your global styles here, in PostCSS syntax */
|
|
||||||
@tailwind base;
|
|
||||||
@tailwind components;
|
|
||||||
@tailwind utilities;
|
|
@ -1,8 +1,9 @@
|
|||||||
<script>
|
<script>
|
||||||
import { OpenAPI } from '@odit/lfk-client-js';
|
import { OpenAPI } from '@odit/lfk-client-js';
|
||||||
import '../app.postcss';
|
|
||||||
import '@fontsource/athiti';
|
import '@fontsource/athiti';
|
||||||
|
import '../app.css';
|
||||||
import { onMount } from 'svelte';
|
import { onMount } from 'svelte';
|
||||||
|
import lfkbackground from './background.png';
|
||||||
|
|
||||||
OpenAPI.BASE = 'https://run.lauf-fuer-kaya.de';
|
OpenAPI.BASE = 'https://run.lauf-fuer-kaya.de';
|
||||||
onMount(() => {
|
onMount(() => {
|
||||||
@ -13,10 +14,25 @@
|
|||||||
if (e.keyCode === 116) e.preventDefault();
|
if (e.keyCode === 116) e.preventDefault();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
let time = new Date();
|
||||||
|
$: hours = (time.getHours() + '').padStart(2, '0');
|
||||||
|
$: minutes = (time.getMinutes() + '').padStart(2, '0');
|
||||||
|
$: seconds = (time.getSeconds() + '').padStart(2, '0');
|
||||||
|
setInterval(() => {
|
||||||
|
time = new Date();
|
||||||
|
}, 500);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="dark:bg-slate-900 flex flex-col h-screen">
|
<div
|
||||||
|
class="text-neutral-800 flex flex-col h-screen"
|
||||||
|
style="background: url({lfkbackground});background-position: center center!important;background-size: contain!important;background-repeat: no-repeat!important;"
|
||||||
|
>
|
||||||
<main class="flex-grow">
|
<main class="flex-grow">
|
||||||
|
<div
|
||||||
|
class="text-6xl font-semibold text-right text-gray-900 font-mono top-2 w-full fixed pr-4 xl:top-6 xl:pr-8"
|
||||||
|
>
|
||||||
|
{hours}:{minutes}:{seconds}
|
||||||
|
</div>
|
||||||
<slot />
|
<slot />
|
||||||
</main>
|
</main>
|
||||||
</div>
|
</div>
|
||||||
|
@ -33,7 +33,6 @@
|
|||||||
class="underline">Impressum</a
|
class="underline">Impressum</a
|
||||||
>
|
>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
|
||||||
<b class="font-bold">LfK!2025</b> powered by
|
<b class="font-bold">LfK!2025</b> powered by
|
||||||
<a
|
<a
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
|
@ -26,97 +26,84 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<div
|
<div class="relative overflow-hidden">
|
||||||
class="relative overflow-hidden before:absolute before:top-0 before:left-1/2 before:bg-[url('/assets/polygon.svg')] before:bg-no-repeat before:bg-top before:bg-cover before:w-full before:h-full before:-z-[1] before:transform before:-translate-x-1/2 dark:before:bg-[url('/assets/polygon-dark.svg')]"
|
<div class="max-w-md mx-auto px-4 sm:px-6 lg:px-8 pt-24 pb-10">
|
||||||
>
|
<div class="text-center">
|
||||||
<div class="max-w-[85rem] mx-auto px-4 sm:px-6 lg:px-8 pt-24 pb-10">
|
<h1 class="block text-7xl font-bold">LfK!Kiosk</h1>
|
||||||
|
<h1 class="block text-4xl font-bold">Login</h1>
|
||||||
|
<!-- <p class="mt-2 text-sm text-gray-600 dark:text-gray-400">Melde dich für den LfK an</p> -->
|
||||||
|
</div>
|
||||||
<!-- Title -->
|
<!-- Title -->
|
||||||
<div class="mt-5 max-w-2xl text-center mx-auto">
|
<!-- <div class="mt-5 max-w-2xl text-center mx-auto">
|
||||||
<h1 class="block font-bold text-gray-800 text-4xl md:text-5xl lg:text-6xl dark:text-gray-200">
|
<h1 class="block font-bold text-gray-800 text-4xl md:text-5xl lg:text-6xl dark:text-gray-200">
|
||||||
LfK! Selfservice
|
LfK! Selfservice
|
||||||
<span class="bg-clip-text bg-gradient-to-tl from-blue-600 to-violet-600 text-transparent"
|
<span class="bg-clip-text bg-gradient-to-tl from-blue-600 to-violet-600 text-transparent"
|
||||||
>Kiosk</span
|
>Kiosk</span
|
||||||
>
|
>
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div> -->
|
||||||
<!-- End Title -->
|
<!-- End Title -->
|
||||||
|
|
||||||
<div class="mt-5 max-w-3xl text-center mx-auto">
|
{#if loginError}
|
||||||
<p class="text-lg text-gray-600 dark:text-gray-400">Für die Anmeldung vor Ort</p>
|
|
||||||
</div>
|
|
||||||
<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="bg-red-500 text-white text-center font-semibold rounded-md shadow-lg mb-8 mt-4"
|
||||||
|
role="alert"
|
||||||
>
|
>
|
||||||
<div class="p-4 sm:p-7">
|
<div class="p-4">Falscher Nutzername oder falsches Passwort</div>
|
||||||
<div class="text-center mb-8">
|
|
||||||
<h1 class="block text-2xl font-bold text-gray-800 dark:text-white">Anmeldung</h1>
|
|
||||||
<p class="mt-2 text-sm text-gray-600 dark:text-gray-400">
|
|
||||||
Hierfür wird ein LfK Läufersystem Account benötigt
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{#if loginError}
|
|
||||||
<div
|
|
||||||
class="bg-red-500 text-sm text-white text-center font-semibold rounded-md shadow-lg mb-8"
|
|
||||||
role="alert"
|
|
||||||
>
|
|
||||||
<div class="p-4">Falscher Nutzername oder falsches Passwort</div>
|
|
||||||
</div>
|
|
||||||
{/if}
|
|
||||||
|
|
||||||
<!-- Form -->
|
|
||||||
<form on:submit|preventDefault={login}>
|
|
||||||
<div class="grid gap-y-4">
|
|
||||||
<!-- Form Group -->
|
|
||||||
<div>
|
|
||||||
<label for="username" class="block text-sm mb-2 dark:text-white">Benutzername</label
|
|
||||||
>
|
|
||||||
<div class="relative">
|
|
||||||
<input
|
|
||||||
bind:value={username}
|
|
||||||
autocomplete="one-time-code"
|
|
||||||
type="username"
|
|
||||||
id="username"
|
|
||||||
name="username"
|
|
||||||
class="py-3 px-4 block w-full border-gray-200 rounded-md text-sm focus:border-blue-500 focus:ring-blue-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 border"
|
|
||||||
required
|
|
||||||
aria-describedby="username-error"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- End Form Group -->
|
|
||||||
|
|
||||||
<!-- Form Group -->
|
|
||||||
<div>
|
|
||||||
<div class="flex justify-between items-center">
|
|
||||||
<label for="password" class="block text-sm mb-2 dark:text-white">Passwort</label>
|
|
||||||
</div>
|
|
||||||
<div class="relative">
|
|
||||||
<input
|
|
||||||
bind:value={password}
|
|
||||||
autocomplete="one-time-code"
|
|
||||||
type="password"
|
|
||||||
id="password"
|
|
||||||
name="password"
|
|
||||||
class="py-3 px-4 block w-full border-gray-200 rounded-md text-sm focus:border-blue-500 focus:ring-blue-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 border"
|
|
||||||
required
|
|
||||||
aria-describedby="password-error"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<!-- End Form Group -->
|
|
||||||
|
|
||||||
<button
|
|
||||||
type="submit"
|
|
||||||
class="py-3 px-4 inline-flex justify-center items-center gap-2 rounded-md border border-transparent font-semibold bg-blue-500 text-white hover:bg-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-all text-sm dark:focus:ring-offset-gray-800"
|
|
||||||
>Anmelden</button
|
|
||||||
>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
<!-- End Form -->
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{/if}
|
||||||
|
|
||||||
|
<!-- Form -->
|
||||||
|
<form on:submit|preventDefault={login}>
|
||||||
|
<div class="grid gap-y-4">
|
||||||
|
<!-- Form Group -->
|
||||||
|
<div>
|
||||||
|
<label for="username" class="block font-semibold">Benutzername</label>
|
||||||
|
<div class="relative">
|
||||||
|
<input
|
||||||
|
autofocus
|
||||||
|
bind:value={username}
|
||||||
|
autocomplete="one-time-code"
|
||||||
|
type="username"
|
||||||
|
id="username"
|
||||||
|
name="username"
|
||||||
|
placeholder="Benutzername"
|
||||||
|
class="placeholder:text-neutral-800 py-3 px-4 block w-full rounded-md focus:border-blue-500 focus:ring-blue-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 border bg-white"
|
||||||
|
required
|
||||||
|
aria-describedby="username-error"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- End Form Group -->
|
||||||
|
|
||||||
|
<!-- Form Group -->
|
||||||
|
<div>
|
||||||
|
<div class="flex justify-between items-center">
|
||||||
|
<label for="password" class="block font-semibold">Passwort</label>
|
||||||
|
</div>
|
||||||
|
<div class="relative">
|
||||||
|
<input
|
||||||
|
bind:value={password}
|
||||||
|
autocomplete="one-time-code"
|
||||||
|
type="password"
|
||||||
|
id="password"
|
||||||
|
name="password"
|
||||||
|
placeholder="Passwort"
|
||||||
|
class="placeholder:text-neutral-800 py-3 px-4 block w-full rounded-md focus:border-blue-500 focus:ring-blue-500 dark:bg-gray-800 dark:border-gray-700 dark:text-gray-400 border bg-white"
|
||||||
|
required
|
||||||
|
aria-describedby="password-error"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- End Form Group -->
|
||||||
|
|
||||||
|
<button
|
||||||
|
type="submit"
|
||||||
|
class="py-3 px-4 inline-flex justify-center items-center gap-2 rounded-md border border-transparent font-semibold bg-blue-500 text-white hover:bg-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-all dark:focus:ring-offset-gray-800"
|
||||||
|
>Anmelden</button
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<!-- End Form -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { RunnerService, type ResponseRunner } from '@odit/lfk-client-js';
|
import { RunnerService, type ResponseRunner } from '@odit/lfk-client-js';
|
||||||
import bwipjs from 'bwip-js';
|
import bwipjs from 'bwip-js';
|
||||||
import lfkbackground from './background.png';
|
|
||||||
import { onMount } from 'svelte';
|
import { onMount } from 'svelte';
|
||||||
|
|
||||||
$: firstname = '';
|
$: firstname = '';
|
||||||
@ -84,10 +83,7 @@
|
|||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div
|
<div class="flex h-full items-center py-16 select-none">
|
||||||
class="dark:bg-slate-900 bg-gray-100 flex h-full items-center py-16 select-none"
|
|
||||||
style="background: url({lfkbackground});background-position: center center!important;background-size: contain!important;background-repeat: no-repeat!important;"
|
|
||||||
>
|
|
||||||
<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-200"
|
class="mt-7 bg-white border border-gray-200 rounded-xl shadow-sm dark:bg-gray-800 dark:border-gray-200"
|
||||||
@ -121,7 +117,7 @@
|
|||||||
autocomplete="one-time-code"
|
autocomplete="one-time-code"
|
||||||
id="firstname"
|
id="firstname"
|
||||||
name="firstname"
|
name="firstname"
|
||||||
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"
|
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 bg-white"
|
||||||
required
|
required
|
||||||
placeholder="Vorname"
|
placeholder="Vorname"
|
||||||
bind:value={firstname}
|
bind:value={firstname}
|
||||||
@ -176,7 +172,7 @@
|
|||||||
type="lastname"
|
type="lastname"
|
||||||
id="lastname"
|
id="lastname"
|
||||||
name="lastname"
|
name="lastname"
|
||||||
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"
|
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 bg-white"
|
||||||
required
|
required
|
||||||
placeholder="Nachname"
|
placeholder="Nachname"
|
||||||
aria-describedby="lastname-error"
|
aria-describedby="lastname-error"
|
||||||
@ -233,7 +229,7 @@
|
|||||||
type="email"
|
type="email"
|
||||||
id="email"
|
id="email"
|
||||||
name="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"
|
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 bg-white"
|
||||||
placeholder="E-Mail (optional)"
|
placeholder="E-Mail (optional)"
|
||||||
aria-describedby="lastname-error"
|
aria-describedby="lastname-error"
|
||||||
bind:value={email}
|
bind:value={email}
|
||||||
@ -265,7 +261,27 @@
|
|||||||
</p> -->
|
</p> -->
|
||||||
</div>
|
</div>
|
||||||
<!-- End Form Group -->
|
<!-- End Form Group -->
|
||||||
|
<p
|
||||||
|
class="bg-white text-gray-800 dark:bg-gray-800 dark:text-gray-400 rounded border p-3"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
class="inline"
|
||||||
|
><circle cx="12" cy="12" r="10" /><path d="M12 16v-4" /><path
|
||||||
|
d="M12 8h.01"
|
||||||
|
/></svg
|
||||||
|
>
|
||||||
|
Mit der Registrierung akzeptieren Sie die AGBs sowie die Datenschutzerklärung des Lauf
|
||||||
|
für Kaya! 2025 sowie der ODIT.Services GmbH.
|
||||||
|
</p>
|
||||||
<button
|
<button
|
||||||
on:keydown={(e) => {
|
on:keydown={(e) => {
|
||||||
if (e.keyCode === 38) {
|
if (e.keyCode === 38) {
|
||||||
@ -275,7 +291,7 @@
|
|||||||
id="submit"
|
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 cursor-pointer"
|
||||||
>Anmelden</button
|
>Anmelden</button
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
@ -307,7 +323,7 @@
|
|||||||
showResult = false;
|
showResult = false;
|
||||||
focusFirstName();
|
focusFirstName();
|
||||||
}}
|
}}
|
||||||
class="w-full py-3 px-4 inline-flex justify-center items-center gap-2 rounded-md border border-transparent font-semibold bg-blue-500 text-white hover:bg-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-all text-sm dark:focus:ring-offset-gray-800"
|
class="w-full py-3 px-4 inline-flex justify-center items-center gap-2 rounded-md border border-transparent font-semibold bg-blue-500 text-white hover:bg-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-all text-sm dark:focus:ring-offset-gray-800 cursor-pointer"
|
||||||
>Fertig</button
|
>Fertig</button
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
const config = {
|
|
||||||
content: ['./src/**/*.{html,js,svelte,ts}'],
|
|
||||||
|
|
||||||
theme: {
|
|
||||||
extend: {}
|
|
||||||
},
|
|
||||||
|
|
||||||
plugins: []
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = config;
|
|
@ -1,6 +1,9 @@
|
|||||||
import { sveltekit } from '@sveltejs/kit/vite';
|
import { sveltekit } from '@sveltejs/kit/vite';
|
||||||
import { defineConfig } from 'vite';
|
import { defineConfig } from 'vite';
|
||||||
|
import tailwindcss from '@tailwindcss/vite';
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [sveltekit()]
|
plugins: [
|
||||||
});
|
tailwindcss(),
|
||||||
|
sveltekit(),
|
||||||
|
],
|
||||||
|
});
|
Loading…
x
Reference in New Issue
Block a user