6 Commits

Author SHA1 Message Date
b287db4d0a pin clock to bottom
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-15 20:34:14 +02:00
b3ce711e6b fix: width of general container 2023-04-15 20:26:22 +02:00
456c0635a4 reload data every 90s
All checks were successful
continuous-integration/drone/push Build is passing
2023-04-15 20:02:06 +02:00
b50398f6eb monospace clock 2023-04-15 20:01:55 +02:00
e04e6713bc default fallback on no data 2023-04-15 20:01:49 +02:00
de373390ba updated pnpm lock 2023-04-15 20:01:34 +02:00
2 changed files with 244 additions and 228 deletions

20
pnpm-lock.yaml generated
View File

@@ -2,31 +2,31 @@ lockfileVersion: '6.0'
devDependencies: devDependencies:
'@odit/license-exporter': '@odit/license-exporter':
specifier: ^0.0.11 specifier: 0.0.11
version: 0.0.11 version: 0.0.11
'@svitejs/vite-plugin-svelte': '@svitejs/vite-plugin-svelte':
specifier: ^0.11.1 specifier: 0.11.1
version: 0.11.1(svelte@3.36.0)(vite@2.1.4) version: 0.11.1(svelte@3.36.0)(vite@2.1.4)
'@tsconfig/svelte': '@tsconfig/svelte':
specifier: ^1.0.10 specifier: 1.0.10
version: 1.0.10 version: 1.0.10
'@types/html-minifier': '@types/html-minifier':
specifier: ^4.0.0 specifier: 4.0.0
version: 4.0.0 version: 4.0.0
axios: axios:
specifier: ^0.21.1 specifier: 0.21.1
version: 0.21.1 version: 0.21.1
html-minifier: html-minifier:
specifier: ^4.0.0 specifier: 4.0.0
version: 4.0.0 version: 4.0.0
husky: husky:
specifier: ^5.1.3 specifier: 5.1.3
version: 5.1.3 version: 5.1.3
prettier: prettier:
specifier: ^2.2.1 specifier: 2.2.1
version: 2.2.1 version: 2.2.1
prettier-plugin-svelte: prettier-plugin-svelte:
specifier: ^2.2.0 specifier: 2.2.0
version: 2.2.0(prettier@2.2.1)(svelte@3.36.0) version: 2.2.0(prettier@2.2.1)(svelte@3.36.0)
release-it: release-it:
specifier: 14.5.0 specifier: 14.5.0
@@ -41,7 +41,7 @@ devDependencies:
specifier: 4.7.0 specifier: 4.7.0
version: 4.7.0(svelte@3.36.0) version: 4.7.0(svelte@3.36.0)
validator: validator:
specifier: ^13.5.2 specifier: 13.5.2
version: 13.5.2 version: 13.5.2
vite: vite:
specifier: 2.1.4 specifier: 2.1.4

View File

@@ -130,7 +130,7 @@
}, 1000); }, 1000);
setInterval(() => { setInterval(() => {
fetch_all(); fetch_all();
}, 15000); }, 90000);
setInterval(() => { setInterval(() => {
current_page = pages.cycle(current_page); current_page = pages.cycle(current_page);
}, 20000); }, 20000);
@@ -140,228 +140,244 @@
class="min-h-screen flex items-center justify-center bg-gray-100" class="min-h-screen flex items-center justify-center bg-gray-100"
style="background-image: url('/beamershow_background.png');background-position: center;background-size: contain;background-repeat:no-repeat;" style="background-image: url('/beamershow_background.png');background-position: center;background-size: contain;background-repeat:no-repeat;"
> >
<div class="max-w-xl w-full"> <div class="w-full">
{#if current_page === "general"} <div style="width:55vw;" class="mx-auto">
<div transition:slide|local> <!-- -->
<h1 class="mr-6 text-7xl font-semibold text-center text-gray-900"> {#if current_page === "general"}
{hours}:{minutes}:{seconds} <div transition:slide|local>
</h1> <h1 class="mr-6 text-7xl font-semibold text-center text-gray-900">
<!-- --> Statistiken
<div class="flex flex-wrap -mx-1 overflow-hidden mt-5"> </h1>
<div class="my-1 px-1 w-full overflow-hidden sm:w-1/2 md:w-1/3"> <!-- -->
<h1 class="text-5xl font-semibold text-center text-gray-900"> <div class="flex flex-wrap -mx-1 overflow-hidden mt-5">
{general.total_runners} <div class="my-1 px-1 w-full overflow-hidden sm:w-1/2 md:w-1/3">
</h1> <h1 class="text-5xl font-semibold text-center text-gray-900">
<h1 class="text-2xl font-semibold text-center text-gray-900"> {general.total_runners || "0"}
{$_("laeufer")} </h1>
</h1> <h1 class="text-2xl font-semibold text-center text-gray-900">
</div> {$_("laeufer")}
<div class="my-1 px-1 w-full overflow-hidden sm:w-1/2 md:w-1/3"> </h1>
<h1 class="text-5xl font-semibold text-center text-gray-900"> </div>
{general.total_distance} <div class="my-1 px-1 w-full overflow-hidden sm:w-1/2 md:w-1/3">
</h1> <h1 class="text-5xl font-semibold text-center text-gray-900">
<h1 class="text-2xl font-semibold text-center text-gray-900"> {general.total_distance || "0"}
{$_("kilometer-gesamt")} </h1>
</h1> <h1 class="text-2xl font-semibold text-center text-gray-900">
</div> {$_("kilometer-gesamt")}
<div class="my-1 px-1 w-full overflow-hidden sm:w-1/2 md:w-1/3"> </h1>
<h1 class="text-5xl font-semibold text-center text-gray-900"> </div>
{general.total_donation} <div class="my-1 px-1 w-full overflow-hidden sm:w-1/2 md:w-1/3">
</h1> <h1 class="text-5xl font-semibold text-center text-gray-900">
<h1 class="text-2xl font-semibold text-center text-gray-900"> {general.total_donation || "0"}
{$_("spendensumme")} </h1>
</h1> <h1 class="text-2xl font-semibold text-center text-gray-900">
{$_("spendensumme")}
</h1>
</div>
</div> </div>
</div> </div>
</div> {:else if current_page === "runners_distance"}
{:else if current_page === "runners_distance"} <div transition:slide|local>
<div transition:slide|local> <h1
<h1 class="mr-6 text-7xl font-semibold text-center text-gray-900 mb-5"> class="mr-6 text-7xl font-semibold text-center text-gray-900 mb-5"
{$_("top-laeufer")} ({$_("distanz")}) >
</h1> {$_("top-laeufer")} ({$_("distanz")})
<table class="table p-4 bg-white shadow rounded-lg w-full"> </h1>
<thead> <table class="table p-4 bg-white shadow rounded-lg w-full">
<tr> <thead>
<th <tr>
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900" <th
> class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
{$_("platz")} >
</th> {$_("platz")}
<th </th>
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900" <th
> class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
{$_("laeufer")} >
</th> {$_("laeufer")}
<th </th>
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900" <th
> class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
{$_("organisation")} >
</th> {$_("organisation")}
<th </th>
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900" <th
> class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
{$_("kilometer")} >
</th> {$_("kilometer")}
</tr> </th>
</thead>
<tbody>
{#each runners as r, i}
<tr class="text-gray-700">
<td class="border p-4 dark:border-dark-5">
{i + 1}
</td>
<td class="border p-4 dark:border-dark-5">
{r.firstname}
{r.lastname}
</td>
<td class="border p-4 dark:border-dark-5">
{r.group.name}
</td>
<td class="border p-4 dark:border-dark-5">
{r.distance / 1000} km
</td>
</tr> </tr>
{/each} </thead>
</tbody> <tbody>
</table> {#each runners as r, i}
</div> <tr class="text-gray-700">
{:else if current_page === "runners_laptime"} <td class="border p-4 dark:border-dark-5">
<div transition:slide|local> {i + 1}
<h1 class="mr-6 text-7xl font-semibold text-center text-gray-900 mb-5"> </td>
{$_("top-laeufer")} ({$_("rundenzeit")}) <td class="border p-4 dark:border-dark-5">
</h1> {r.firstname}
<table class="table p-4 bg-white shadow rounded-lg w-full"> {r.lastname}
<thead> </td>
<tr> <td class="border p-4 dark:border-dark-5">
<th {r.group.name}
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900" </td>
> <td class="border p-4 dark:border-dark-5">
{$_("platz")} {r.distance / 1000} km
</th> </td>
<th </tr>
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900" {/each}
> </tbody>
{$_("laeufer")} </table>
</th> </div>
<th {:else if current_page === "runners_laptime"}
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900" <div transition:slide|local>
> <h1
{$_("organisation")} class="mr-6 text-7xl font-semibold text-center text-gray-900 mb-5"
</th> >
<th {$_("top-laeufer")} ({$_("rundenzeit")})
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900" </h1>
> <table class="table p-4 bg-white shadow rounded-lg w-full">
{$_("schnellste-rundenzeit")} <thead>
</th> <tr>
</tr> <th
</thead> class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
<tbody> >
{#each runners_by_laptime as r, i} {$_("platz")}
<tr class="text-gray-700"> </th>
<td class="border p-4 dark:border-dark-5"> <th
{i + 1} class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
</td> >
<td class="border p-4 dark:border-dark-5"> {$_("laeufer")}
{r.firstname} </th>
{r.lastname} <th
</td> class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
<td class="border p-4 dark:border-dark-5"> >
{r.group.name} {$_("organisation")}
</td> </th>
<td class="border p-4 dark:border-dark-5"> <th
{format_laptime(r.minLaptime)} class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
</td> >
{$_("schnellste-rundenzeit")}
</th>
</tr> </tr>
{/each} </thead>
</tbody> <tbody>
</table> {#each runners_by_laptime as r, i}
</div> <tr class="text-gray-700">
{:else if current_page === "orgs_distance"} <td class="border p-4 dark:border-dark-5">
<div transition:slide|local> {i + 1}
<h1 class="mr-6 text-7xl font-semibold text-center text-gray-900 mb-5"> </td>
{$_("top-organsiationen")} <td class="border p-4 dark:border-dark-5">
</h1> {r.firstname}
<table class="table p-4 bg-white shadow rounded-lg w-full"> {r.lastname}
<thead> </td>
<tr> <td class="border p-4 dark:border-dark-5">
<th {r.group.name}
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900" </td>
> <td class="border p-4 dark:border-dark-5">
{$_("platz")} {format_laptime(r.minLaptime)}
</th> </td>
<th </tr>
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900" {/each}
> </tbody>
{$_("organsiation")} </table>
</th> </div>
<th {:else if current_page === "orgs_distance"}
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900" <div transition:slide|local>
> <h1
{$_("kilometer")} class="mr-6 text-7xl font-semibold text-center text-gray-900 mb-5"
</th> >
</tr> {$_("top-organsiationen")}
</thead> </h1>
<tbody> <table class="table p-4 bg-white shadow rounded-lg w-full">
{#each orgs as o, i} <thead>
<tr class="text-gray-700"> <tr>
<td class="border p-4 dark:border-dark-5"> <th
{i + 1} class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
</td> >
<td class="border p-4 dark:border-dark-5"> {$_("platz")}
{o.name} </th>
</td> <th
<td class="border p-4 dark:border-dark-5"> class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
{o.distance / 1000} km >
</td> {$_("organsiation")}
</th>
<th
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
>
{$_("kilometer")}
</th>
</tr> </tr>
{/each} </thead>
</tbody> <tbody>
</table> {#each orgs as o, i}
</div> <tr class="text-gray-700">
{:else if current_page === "teams_distance"} <td class="border p-4 dark:border-dark-5">
<div transition:slide|local> {i + 1}
<h1 class="mr-6 text-7xl font-semibold text-center text-gray-900 mb-5"> </td>
{$_("top-teams")} <td class="border p-4 dark:border-dark-5">
</h1> {o.name}
<table class="table p-4 bg-white shadow rounded-lg w-full"> </td>
<thead> <td class="border p-4 dark:border-dark-5">
<tr> {o.distance / 1000} km
<th </td>
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900" </tr>
> {/each}
{$_("platz")} </tbody>
</th> </table>
<th </div>
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900" {:else if current_page === "teams_distance"}
> <div transition:slide|local>
{$_("team")} <h1
</th> class="mr-6 text-7xl font-semibold text-center text-gray-900 mb-5"
<th >
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900" {$_("top-teams")}
> </h1>
{$_("kilometer")} <table class="table p-4 bg-white shadow rounded-lg w-full">
</th> <thead>
</tr> <tr>
</thead> <th
<tbody> class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
{#each teams as t, i} >
<tr class="text-gray-700"> {$_("platz")}
<td class="border p-4 dark:border-dark-5"> </th>
{i + 1} <th
</td> class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
<td class="border p-4 dark:border-dark-5"> >
{t.name} {$_("team")}
</td> </th>
<td class="border p-4 dark:border-dark-5"> <th
{t.distance / 1000} km class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
</td> >
{$_("kilometer")}
</th>
</tr> </tr>
{/each} </thead>
</tbody> <tbody>
</table> {#each teams as t, i}
</div> <tr class="text-gray-700">
{:else} <td class="border p-4 dark:border-dark-5">
<!-- content here --> {i + 1}
{/if} </td>
<td class="border p-4 dark:border-dark-5">
{t.name}
</td>
<td class="border p-4 dark:border-dark-5">
{t.distance / 1000} km
</td>
</tr>
{/each}
</tbody>
</table>
</div>
{:else}
<!-- content here -->
{/if}
</div>
</div> </div>
<h1
class="text-5xl font-semibold text-center text-gray-900 font-mono bottom-2 w-full fixed"
>
{hours}:{minutes}:{seconds}
</h1>
</div> </div>