Compare commits
No commits in common. "main" and "1.0.5" have entirely different histories.
@ -1,33 +0,0 @@
|
|||||||
name: Build release images
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- "*.*.*"
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build-container:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Set up Node.js
|
|
||||||
uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: 19
|
|
||||||
- run: npm i -g pnpm@10.7 && pnpm i
|
|
||||||
- run: pnpm licenses:export
|
|
||||||
- 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/beamershow:${{ github.ref_name }}
|
|
||||||
platforms: linux/amd64,linux/arm64
|
|
39
.woodpecker/build.yml
Normal file
39
.woodpecker/build.yml
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
steps:
|
||||||
|
- name: build latest
|
||||||
|
image: woodpeckerci/plugin-docker-buildx
|
||||||
|
settings:
|
||||||
|
repo: registry.odit.services/lfk/beamershow
|
||||||
|
tags:
|
||||||
|
- latest
|
||||||
|
registry: registry.odit.services
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
|
cache_from: registry.odit.services/lfk/beamershow:latest
|
||||||
|
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
|
||||||
|
- name: build dev
|
||||||
|
image: woodpeckerci/plugin-docker-buildx
|
||||||
|
settings:
|
||||||
|
repo: registry.odit.services/lfk/beamershow
|
||||||
|
tags:
|
||||||
|
- dev
|
||||||
|
registry: registry.odit.services
|
||||||
|
platforms: linux/amd64,linux/arm64
|
||||||
|
cache_from: registry.odit.services/lfk/beamershow:dev
|
||||||
|
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
|
||||||
|
when:
|
||||||
|
event: push
|
27
CHANGELOG.md
27
CHANGELOG.md
@ -2,38 +2,11 @@
|
|||||||
|
|
||||||
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.0.8](https://git.odit.services/lfk/beamershow/compare/1.0.7...1.0.8)
|
|
||||||
|
|
||||||
- ci: fix license exporter [`5202ab0`](https://git.odit.services/lfk/beamershow/commit/5202ab013a31515f5ad8eeb342fb7f4eb283f1ff)
|
|
||||||
|
|
||||||
#### [1.0.7](https://git.odit.services/lfk/beamershow/compare/1.0.6...1.0.7)
|
|
||||||
|
|
||||||
> 4 April 2025
|
|
||||||
|
|
||||||
- chore: release 1.0.7 [`1652e54`](https://git.odit.services/lfk/beamershow/commit/1652e54ac63f51c1f8e1903e22a2768967e3f90d)
|
|
||||||
|
|
||||||
#### [1.0.6](https://git.odit.services/lfk/beamershow/compare/1.0.5...1.0.6)
|
|
||||||
|
|
||||||
> 4 April 2025
|
|
||||||
|
|
||||||
- feat: show org names for teams_distance slide [`c6f7210`](https://git.odit.services/lfk/beamershow/commit/c6f721019691cdc9f5492f920dbdd99e6b25ca9f)
|
|
||||||
- chore(deps). bump [`dc0488b`](https://git.odit.services/lfk/beamershow/commit/dc0488b1b7632326f4dd3bf5fff0ac8fa91fb128)
|
|
||||||
- ci: move to gitea actions [`e6ff8ef`](https://git.odit.services/lfk/beamershow/commit/e6ff8ef80b667692574319f20bebe6a4e872ca6e)
|
|
||||||
- chore: release 1.0.6 [`52528d3`](https://git.odit.services/lfk/beamershow/commit/52528d31a46f99bd44c9b7f18833159f9cd4db56)
|
|
||||||
- chore: update readme [`aa707ff`](https://git.odit.services/lfk/beamershow/commit/aa707ff0ccaa2cb4a69d3c7b396591cd40827c6d)
|
|
||||||
- chore(deps): pnpm@10 [`c286969`](https://git.odit.services/lfk/beamershow/commit/c286969a9de52519005013a6798f711cef26b465)
|
|
||||||
- ci: change release message [`4920da1`](https://git.odit.services/lfk/beamershow/commit/4920da1df1a51a071eeba44d8d2c1cb6c5f8d09c)
|
|
||||||
- fix: i18n [`f9a84f7`](https://git.odit.services/lfk/beamershow/commit/f9a84f798b1052530688aaabf654b08c2d466da5)
|
|
||||||
- fix(login): bg image [`14ae9e4`](https://git.odit.services/lfk/beamershow/commit/14ae9e49fbdc10a1c5681212713b166e333e4b4d)
|
|
||||||
|
|
||||||
#### [1.0.5](https://git.odit.services/lfk/beamershow/compare/1.0.4...1.0.5)
|
#### [1.0.5](https://git.odit.services/lfk/beamershow/compare/1.0.4...1.0.5)
|
||||||
|
|
||||||
> 18 December 2024
|
|
||||||
|
|
||||||
- chore(deps): bump some [`ab4f82c`](https://git.odit.services/lfk/beamershow/commit/ab4f82ccf14a1569921845910e3b2a740f74aeea)
|
- chore(deps): bump some [`ab4f82c`](https://git.odit.services/lfk/beamershow/commit/ab4f82ccf14a1569921845910e3b2a740f74aeea)
|
||||||
- feat(ci)!: Switched to woodpecker [`1235776`](https://git.odit.services/lfk/beamershow/commit/1235776a6255a3925f98ac6cacd3167f6e86e363)
|
- feat(ci)!: Switched to woodpecker [`1235776`](https://git.odit.services/lfk/beamershow/commit/1235776a6255a3925f98ac6cacd3167f6e86e363)
|
||||||
- chore: remove husky [`72d34cb`](https://git.odit.services/lfk/beamershow/commit/72d34cbfd7f7e47f0239416469533aea772daa79)
|
- chore: remove husky [`72d34cb`](https://git.odit.services/lfk/beamershow/commit/72d34cbfd7f7e47f0239416469533aea772daa79)
|
||||||
- 🚀Bumped version to 1.0.5 [`4874b22`](https://git.odit.services/lfk/beamershow/commit/4874b227960c30b65d7bc822f987c9b957144953)
|
|
||||||
- chore(deps): pnpm@9 + node@23 [`c4ad18c`](https://git.odit.services/lfk/beamershow/commit/c4ad18cb4ff4dd13e50f4674d7b6016ed788ff63)
|
- chore(deps): pnpm@9 + node@23 [`c4ad18c`](https://git.odit.services/lfk/beamershow/commit/c4ad18cb4ff4dd13e50f4674d7b6016ed788ff63)
|
||||||
- feat(footer): cleaned up text [`b10e964`](https://git.odit.services/lfk/beamershow/commit/b10e964ad900fcfd2503884c248ea0f6d11a2fb9)
|
- feat(footer): cleaned up text [`b10e964`](https://git.odit.services/lfk/beamershow/commit/b10e964ad900fcfd2503884c248ea0f6d11a2fb9)
|
||||||
- feat: improved background img import [`919b295`](https://git.odit.services/lfk/beamershow/commit/919b2956ab5253a3697c14ac284f6da700afda91)
|
- feat: improved background img import [`919b295`](https://git.odit.services/lfk/beamershow/commit/919b2956ab5253a3697c14ac284f6da700afda91)
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
FROM registry.odit.services/hub/library/node:23.11.0-alpine3.21 as build
|
FROM registry.odit.services/hub/library/node:23.4.0-alpine3.20 as build
|
||||||
ARG NPM_REGISTRY_URL=https://registry.npmjs.org
|
ARG NPM_REGISTRY_URL=https://registry.npmjs.org
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY . ./
|
COPY . ./
|
||||||
RUN npm config set registry $NPM_REGISTRY_URL && npm i -g pnpm@10.7 && pnpm i
|
RUN npm config set registry $NPM_REGISTRY_URL && npm i -g pnpm@9 && pnpm i
|
||||||
RUN pnpm build
|
RUN pnpm build
|
||||||
|
|
||||||
# final image
|
# final image
|
||||||
|
@ -7,17 +7,17 @@ This is an API client for [https://git.odit.services/lfk/backend](@lfk/backend)
|
|||||||
## Dev🛠
|
## Dev🛠
|
||||||
### 🚀 Getting Started
|
### 🚀 Getting Started
|
||||||
```
|
```
|
||||||
pnpm i
|
yarn
|
||||||
```
|
```
|
||||||
### Development
|
### Development
|
||||||
```
|
```
|
||||||
pnpm dev
|
yarn dev
|
||||||
/
|
/
|
||||||
pnpm dev --open
|
yarn dev --open
|
||||||
```
|
```
|
||||||
### Build
|
### Build
|
||||||
```
|
```
|
||||||
pnpm build
|
yarn build
|
||||||
```
|
```
|
||||||
|
|
||||||
## Use (quickstart) 🔥
|
## Use (quickstart) 🔥
|
||||||
|
170
licenses.md
170
licenses.md
@ -1,102 +1,9 @@
|
|||||||
# @fontsource/athiti
|
# @fontsource/athiti
|
||||||
**Author**: Google Inc.
|
**Author**: Lotus <declininglotus@gmail.com>
|
||||||
**Repo**: https://github.com/fontsource/font-files
|
**Repo**: https://github.com/fontsource/fontsource
|
||||||
**License**: OFL-1.1
|
**License**: MIT
|
||||||
**Description**: Self-host the Athiti font in a neatly bundled NPM package.
|
**Description**: Self-host the Athiti font in a neatly bundled NPM package.
|
||||||
## License Text
|
## License Text
|
||||||
Google Inc.
|
|
||||||
|
|
||||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
|
||||||
This license is copied below, and is also available with a FAQ at:
|
|
||||||
http://scripts.sil.org/OFL
|
|
||||||
|
|
||||||
|
|
||||||
-----------------------------------------------------------
|
|
||||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
|
||||||
-----------------------------------------------------------
|
|
||||||
|
|
||||||
PREAMBLE
|
|
||||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
|
||||||
development of collaborative font projects, to support the font creation
|
|
||||||
efforts of academic and linguistic communities, and to provide a free and
|
|
||||||
open framework in which fonts may be shared and improved in partnership
|
|
||||||
with others.
|
|
||||||
|
|
||||||
The OFL allows the licensed fonts to be used, studied, modified and
|
|
||||||
redistributed freely as long as they are not sold by themselves. The
|
|
||||||
fonts, including any derivative works, can be bundled, embedded,
|
|
||||||
redistributed and/or sold with any software provided that any reserved
|
|
||||||
names are not used by derivative works. The fonts and derivatives,
|
|
||||||
however, cannot be released under any other type of license. The
|
|
||||||
requirement for fonts to remain under this license does not apply
|
|
||||||
to any document created using the fonts or their derivatives.
|
|
||||||
|
|
||||||
DEFINITIONS
|
|
||||||
"Font Software" refers to the set of files released by the Copyright
|
|
||||||
Holder(s) under this license and clearly marked as such. This may
|
|
||||||
include source files, build scripts and documentation.
|
|
||||||
|
|
||||||
"Reserved Font Name" refers to any names specified as such after the
|
|
||||||
copyright statement(s).
|
|
||||||
|
|
||||||
"Original Version" refers to the collection of Font Software components as
|
|
||||||
distributed by the Copyright Holder(s).
|
|
||||||
|
|
||||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
|
||||||
or substituting -- in part or in whole -- any of the components of the
|
|
||||||
Original Version, by changing formats or by porting the Font Software to a
|
|
||||||
new environment.
|
|
||||||
|
|
||||||
"Author" refers to any designer, engineer, programmer, technical
|
|
||||||
writer or other person who contributed to the Font Software.
|
|
||||||
|
|
||||||
PERMISSION & CONDITIONS
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining
|
|
||||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
|
||||||
redistribute, and sell modified and unmodified copies of the Font
|
|
||||||
Software, subject to the following conditions:
|
|
||||||
|
|
||||||
1) Neither the Font Software nor any of its individual components,
|
|
||||||
in Original or Modified Versions, may be sold by itself.
|
|
||||||
|
|
||||||
2) Original or Modified Versions of the Font Software may be bundled,
|
|
||||||
redistributed and/or sold with any software, provided that each copy
|
|
||||||
contains the above copyright notice and this license. These can be
|
|
||||||
included either as stand-alone text files, human-readable headers or
|
|
||||||
in the appropriate machine-readable metadata fields within text or
|
|
||||||
binary files as long as those fields can be easily viewed by the user.
|
|
||||||
|
|
||||||
3) No Modified Version of the Font Software may use the Reserved Font
|
|
||||||
Name(s) unless explicit written permission is granted by the corresponding
|
|
||||||
Copyright Holder. This restriction only applies to the primary font name as
|
|
||||||
presented to the users.
|
|
||||||
|
|
||||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
|
||||||
Software shall not be used to promote, endorse or advertise any
|
|
||||||
Modified Version, except to acknowledge the contribution(s) of the
|
|
||||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
|
||||||
permission.
|
|
||||||
|
|
||||||
5) The Font Software, modified or unmodified, in part or in whole,
|
|
||||||
must be distributed entirely under this license, and must not be
|
|
||||||
distributed under any other license. The requirement for fonts to
|
|
||||||
remain under this license does not apply to any document created
|
|
||||||
using the Font Software.
|
|
||||||
|
|
||||||
TERMINATION
|
|
||||||
This license becomes null and void if any of the above conditions are
|
|
||||||
not met.
|
|
||||||
|
|
||||||
DISCLAIMER
|
|
||||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
|
||||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
|
||||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
|
||||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
||||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
|
||||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
||||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
|
||||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
|
||||||
|
|
||||||
|
|
||||||
# @odit/license-exporter
|
# @odit/license-exporter
|
||||||
@ -105,7 +12,7 @@ OTHER DEALINGS IN THE FONT SOFTWARE.
|
|||||||
**License**: MIT
|
**License**: MIT
|
||||||
**Description**: A simple license crawler for crediting open source work
|
**Description**: A simple license crawler for crediting open source work
|
||||||
## License Text
|
## License Text
|
||||||
MIT License Copyright (c) 2020-2022 ODIT.Services (info@odit.services)
|
MIT License Copyright (c) 2020 ODIT.Services (info@odit.services)
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
@ -126,35 +33,6 @@ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
|
|||||||
OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
# @philippdormann/release-it
|
|
||||||
**Author**: Lars Kappert
|
|
||||||
**Repo**: https://github.com/release-it/release-it
|
|
||||||
**License**: MIT
|
|
||||||
**Description**: Generic CLI tool to automate versioning and package publishing-related tasks.
|
|
||||||
## License Text
|
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2018 Lars Kappert
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
|
|
||||||
|
|
||||||
# @svitejs/vite-plugin-svelte
|
# @svitejs/vite-plugin-svelte
|
||||||
**Author**: dominikg
|
**Author**: dominikg
|
||||||
**Repo**: https://github.com/svitejs/svite
|
**Repo**: https://github.com/svitejs/svite
|
||||||
@ -299,6 +177,15 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|||||||
OTHER DEALINGS IN THE SOFTWARE.
|
OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
|
# husky
|
||||||
|
**Author**: Typicode <typicode@gmail.com>
|
||||||
|
**Repo**: https://github.com/typicode/husky
|
||||||
|
**License**: Parity-7.0.0 AND MIT WITH Patron-1.0.0
|
||||||
|
**Description**: Git hooks made easy
|
||||||
|
## License Text
|
||||||
|
License Zero Parity 7.0.0 (see LICENSE-PARITY file) and MIT (contributions, see LICENSE-MIT file) with exception License Zero Patron 1.0.0 (see LICENSE-PATRON file)
|
||||||
|
|
||||||
|
|
||||||
# prettier
|
# prettier
|
||||||
**Author**: James Long
|
**Author**: James Long
|
||||||
**Repo**: prettier/prettier
|
**Repo**: prettier/prettier
|
||||||
@ -343,6 +230,35 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|||||||
SOFTWARE.
|
SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
|
# release-it
|
||||||
|
**Author**: Lars Kappert
|
||||||
|
**Repo**: https://github.com/release-it/release-it
|
||||||
|
**License**: MIT
|
||||||
|
**Description**: Generic CLI tool to automate versioning and package publishing related tasks.
|
||||||
|
## License Text
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2018 Lars Kappert
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
|
|
||||||
# svelte
|
# svelte
|
||||||
**Author**: Rich Harris
|
**Author**: Rich Harris
|
||||||
**Repo**: https://github.com/sveltejs/svelte
|
**Repo**: https://github.com/sveltejs/svelte
|
||||||
@ -390,7 +306,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
|||||||
|
|
||||||
# validator
|
# validator
|
||||||
**Author**: Chris O'Hara <cohara87@gmail.com>
|
**Author**: Chris O'Hara <cohara87@gmail.com>
|
||||||
**Repo**: https://github.com/validatorjs/validator.js
|
**Repo**: https://github.com/chriso/validator.js
|
||||||
**License**: MIT
|
**License**: MIT
|
||||||
**Description**: String validation and sanitization
|
**Description**: String validation and sanitization
|
||||||
## License Text
|
## License Text
|
||||||
|
18
package.json
18
package.json
@ -1,27 +1,27 @@
|
|||||||
{
|
{
|
||||||
"name": "@lfk/beamershow",
|
"name": "@lfk/beamershow",
|
||||||
"version": "1.0.8",
|
"version": "1.0.5",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
"build": "vite build",
|
"build": "vite build",
|
||||||
"format": "prettier --write --plugin-search-dir=. ./**/*.html ./**/*.svelte",
|
"format": "prettier --write --plugin-search-dir=. ./**/*.html ./**/*.svelte",
|
||||||
"licenses:export": "license-exporter --markdown && git stage licenses.md",
|
"license:export": "license-exporter --markdown && git stage licenses.md",
|
||||||
"release": "release-it --only-version"
|
"release": "release-it --only-version"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@odit/license-exporter": "0.2.0",
|
"@odit/license-exporter": "0.0.11",
|
||||||
"@philippdormann/release-it": "1.0.0",
|
"@philippdormann/release-it": "1.0.0",
|
||||||
"@svitejs/vite-plugin-svelte": "0.11.1",
|
"@svitejs/vite-plugin-svelte": "0.11.1",
|
||||||
"@tsconfig/svelte": "1.0.10",
|
"@tsconfig/svelte": "1.0.10",
|
||||||
"@types/html-minifier": "4.0.5",
|
"@types/html-minifier": "4.0.5",
|
||||||
"axios": "0.21.1",
|
"axios": "0.21.1",
|
||||||
"html-minifier": "4.0.0",
|
"html-minifier": "4.0.0",
|
||||||
"prettier": "3.5.3",
|
"prettier": "3.4.2",
|
||||||
"prettier-plugin-svelte": "3.3.3",
|
"prettier-plugin-svelte": "3.3.2",
|
||||||
"svelte": "3.36.0",
|
"svelte": "3.36.0",
|
||||||
"svelte-i18n": "3.3.9",
|
"svelte-i18n": "3.3.9",
|
||||||
"svelte-preprocess": "4.7.0",
|
"svelte-preprocess": "4.7.0",
|
||||||
"validator": "13.15.0",
|
"validator": "13.12.0",
|
||||||
"vite": "2.1.4",
|
"vite": "2.1.4",
|
||||||
"vite-plugin-windicss": "1.9.4"
|
"vite-plugin-windicss": "1.9.4"
|
||||||
},
|
},
|
||||||
@ -29,11 +29,11 @@
|
|||||||
"git": {
|
"git": {
|
||||||
"commit": true,
|
"commit": true,
|
||||||
"requireCleanWorkingDir": false,
|
"requireCleanWorkingDir": false,
|
||||||
"commitMessage": "chore: release ${version}",
|
"commitMessage": "🚀Bumped version to ${version}",
|
||||||
"requireBranch": "main",
|
"requireBranch": "main",
|
||||||
"push": true,
|
"push": true,
|
||||||
"tag": true,
|
"tag": true,
|
||||||
"tagName": "${version}",
|
"tagName": null,
|
||||||
"tagAnnotation": "${version}"
|
"tagAnnotation": "${version}"
|
||||||
},
|
},
|
||||||
"npm": {
|
"npm": {
|
||||||
@ -44,6 +44,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fontsource/athiti": "5.2.5"
|
"@fontsource/athiti": "5.1.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
87
pnpm-lock.yaml
generated
87
pnpm-lock.yaml
generated
@ -9,12 +9,12 @@ importers:
|
|||||||
.:
|
.:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@fontsource/athiti':
|
'@fontsource/athiti':
|
||||||
specifier: 5.2.5
|
specifier: 5.1.0
|
||||||
version: 5.2.5
|
version: 5.1.0
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@odit/license-exporter':
|
'@odit/license-exporter':
|
||||||
specifier: 0.2.0
|
specifier: 0.0.11
|
||||||
version: 0.2.0
|
version: 0.0.11
|
||||||
'@philippdormann/release-it':
|
'@philippdormann/release-it':
|
||||||
specifier: 1.0.0
|
specifier: 1.0.0
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
@ -34,11 +34,11 @@ importers:
|
|||||||
specifier: 4.0.0
|
specifier: 4.0.0
|
||||||
version: 4.0.0
|
version: 4.0.0
|
||||||
prettier:
|
prettier:
|
||||||
specifier: 3.5.3
|
specifier: 3.4.2
|
||||||
version: 3.5.3
|
version: 3.4.2
|
||||||
prettier-plugin-svelte:
|
prettier-plugin-svelte:
|
||||||
specifier: 3.3.3
|
specifier: 3.3.2
|
||||||
version: 3.3.3(prettier@3.5.3)(svelte@3.36.0)
|
version: 3.3.2(prettier@3.4.2)(svelte@3.36.0)
|
||||||
svelte:
|
svelte:
|
||||||
specifier: 3.36.0
|
specifier: 3.36.0
|
||||||
version: 3.36.0
|
version: 3.36.0
|
||||||
@ -49,8 +49,8 @@ importers:
|
|||||||
specifier: 4.7.0
|
specifier: 4.7.0
|
||||||
version: 4.7.0(postcss@8.4.21)(sass@1.60.0)(svelte@3.36.0)
|
version: 4.7.0(postcss@8.4.21)(sass@1.60.0)(svelte@3.36.0)
|
||||||
validator:
|
validator:
|
||||||
specifier: 13.15.0
|
specifier: 13.12.0
|
||||||
version: 13.15.0
|
version: 13.12.0
|
||||||
vite:
|
vite:
|
||||||
specifier: 2.1.4
|
specifier: 2.1.4
|
||||||
version: 2.1.4
|
version: 2.1.4
|
||||||
@ -75,8 +75,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==}
|
resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==}
|
||||||
engines: {node: '>=6.9.0'}
|
engines: {node: '>=6.9.0'}
|
||||||
|
|
||||||
'@fontsource/athiti@5.2.5':
|
'@fontsource/athiti@5.1.0':
|
||||||
resolution: {integrity: sha512-vHoAKBBw+wI4y3bGOkiogOkgcoLH7+SWtNNo/nBQ1XfhvfRPX/91xGtclEdwqUlbOJTCkNzEecdKChJQ5MsDFg==}
|
resolution: {integrity: sha512-iQsMj7twMf8bmqW0zBOQX6S3oYdRjjgoGO9JOtLPd9T0pzQ1zxGQmp2eEc3ny/Gd5PDRSmn8E5CNwSjUVl0raA==}
|
||||||
|
|
||||||
'@formatjs/ecma402-abstract@1.11.4':
|
'@formatjs/ecma402-abstract@1.11.4':
|
||||||
resolution: {integrity: sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==}
|
resolution: {integrity: sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==}
|
||||||
@ -167,8 +167,8 @@ packages:
|
|||||||
'@octokit/types@13.6.2':
|
'@octokit/types@13.6.2':
|
||||||
resolution: {integrity: sha512-WpbZfZUcZU77DrSW4wbsSgTPfKcp286q3ItaIgvSbBpZJlu6mnYXAkjZz6LVZPXkEvLIM8McanyZejKTYUHipA==}
|
resolution: {integrity: sha512-WpbZfZUcZU77DrSW4wbsSgTPfKcp286q3ItaIgvSbBpZJlu6mnYXAkjZz6LVZPXkEvLIM8McanyZejKTYUHipA==}
|
||||||
|
|
||||||
'@odit/license-exporter@0.2.0':
|
'@odit/license-exporter@0.0.11':
|
||||||
resolution: {integrity: sha512-RRyfQzDLoyLQlGSd8ThJQ3h0fiCe4tkmm935AUvSVQWP+p88FcnI4iaktKBJJVBnIpDhkv/7sDSA5dFc/QMM5w==}
|
resolution: {integrity: sha512-jB5XQF913xaRSF0Hjoqaei/qcTGwBEUc2IZ68OcFShwL/fLfBhI4yhlc9nm9gHgWDEKOInI7mVE8xgpHuiGasA==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
'@philippdormann/release-it@1.0.0':
|
'@philippdormann/release-it@1.0.0':
|
||||||
@ -389,9 +389,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}
|
resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}
|
||||||
engines: {node: '>= 12'}
|
engines: {node: '>= 12'}
|
||||||
|
|
||||||
cliui@8.0.1:
|
cliui@7.0.4:
|
||||||
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
|
resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
|
||||||
engines: {node: '>=12'}
|
|
||||||
|
|
||||||
clone@1.0.4:
|
clone@1.0.4:
|
||||||
resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
|
resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
|
||||||
@ -513,8 +512,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-VtUf6aQ89VTmMLKrWHYG50uByMF4JQlVysb8dmg6cOgW8JnFCipmz7p+HNBl+RR3LLCuBxFGVauAe2wfnF9bLg==}
|
resolution: {integrity: sha512-VtUf6aQ89VTmMLKrWHYG50uByMF4JQlVysb8dmg6cOgW8JnFCipmz7p+HNBl+RR3LLCuBxFGVauAe2wfnF9bLg==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
escalade@3.2.0:
|
escalade@3.1.1:
|
||||||
resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
|
resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
escape-goat@4.0.0:
|
escape-goat@4.0.0:
|
||||||
@ -1081,14 +1080,14 @@ packages:
|
|||||||
resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
|
resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
|
||||||
engines: {node: ^10 || ^12 || >=14}
|
engines: {node: ^10 || ^12 || >=14}
|
||||||
|
|
||||||
prettier-plugin-svelte@3.3.3:
|
prettier-plugin-svelte@3.3.2:
|
||||||
resolution: {integrity: sha512-yViK9zqQ+H2qZD1w/bH7W8i+bVfKrD8GIFjkFe4Thl6kCT9SlAsXVNmt3jCvQOCsnOhcvYgsoVlRV/Eu6x5nNw==}
|
resolution: {integrity: sha512-kRPjH8wSj2iu+dO+XaUv4vD8qr5mdDmlak3IT/7AOgGIMRG86z/EHOLauFcClKEnOUf4A4nOA7sre5KrJD4Raw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
prettier: ^3.0.0
|
prettier: ^3.0.0
|
||||||
svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
|
svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
|
||||||
|
|
||||||
prettier@3.5.3:
|
prettier@3.4.2:
|
||||||
resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==}
|
resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==}
|
||||||
engines: {node: '>=14'}
|
engines: {node: '>=14'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
@ -1430,8 +1429,8 @@ packages:
|
|||||||
util-deprecate@1.0.2:
|
util-deprecate@1.0.2:
|
||||||
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
|
||||||
|
|
||||||
validator@13.15.0:
|
validator@13.12.0:
|
||||||
resolution: {integrity: sha512-36B2ryl4+oL5QxZ3AzD0t5SsMNGvTtQHpjgFO5tbNxfXbMFkY822ktCDe1MnlqV3301QQI9SLHDNJokDI+Z9pA==}
|
resolution: {integrity: sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==}
|
||||||
engines: {node: '>= 0.10'}
|
engines: {node: '>= 0.10'}
|
||||||
|
|
||||||
vite-plugin-windicss@1.9.4:
|
vite-plugin-windicss@1.9.4:
|
||||||
@ -1494,13 +1493,17 @@ packages:
|
|||||||
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
|
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
|
||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
|
yargs-parser@20.2.9:
|
||||||
|
resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
yargs-parser@21.1.1:
|
yargs-parser@21.1.1:
|
||||||
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
|
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
yargs@17.7.2:
|
yargs@16.2.0:
|
||||||
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
|
resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
yoctocolors-cjs@2.1.2:
|
yoctocolors-cjs@2.1.2:
|
||||||
resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==}
|
resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==}
|
||||||
@ -1522,7 +1525,7 @@ snapshots:
|
|||||||
chalk: 2.4.2
|
chalk: 2.4.2
|
||||||
js-tokens: 4.0.0
|
js-tokens: 4.0.0
|
||||||
|
|
||||||
'@fontsource/athiti@5.2.5': {}
|
'@fontsource/athiti@5.1.0': {}
|
||||||
|
|
||||||
'@formatjs/ecma402-abstract@1.11.4':
|
'@formatjs/ecma402-abstract@1.11.4':
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -1629,9 +1632,9 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@octokit/openapi-types': 22.2.0
|
'@octokit/openapi-types': 22.2.0
|
||||||
|
|
||||||
'@odit/license-exporter@0.2.0':
|
'@odit/license-exporter@0.0.11':
|
||||||
dependencies:
|
dependencies:
|
||||||
yargs: 17.7.2
|
yargs: 16.2.0
|
||||||
|
|
||||||
'@philippdormann/release-it@1.0.0':
|
'@philippdormann/release-it@1.0.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -1903,7 +1906,7 @@ snapshots:
|
|||||||
|
|
||||||
cli-width@4.1.0: {}
|
cli-width@4.1.0: {}
|
||||||
|
|
||||||
cliui@8.0.1:
|
cliui@7.0.4:
|
||||||
dependencies:
|
dependencies:
|
||||||
string-width: 4.2.3
|
string-width: 4.2.3
|
||||||
strip-ansi: 6.0.1
|
strip-ansi: 6.0.1
|
||||||
@ -2005,7 +2008,7 @@ snapshots:
|
|||||||
|
|
||||||
esbuild@0.9.7: {}
|
esbuild@0.9.7: {}
|
||||||
|
|
||||||
escalade@3.2.0: {}
|
escalade@3.1.1: {}
|
||||||
|
|
||||||
escape-goat@4.0.0: {}
|
escape-goat@4.0.0: {}
|
||||||
|
|
||||||
@ -2549,12 +2552,12 @@ snapshots:
|
|||||||
picocolors: 1.0.0
|
picocolors: 1.0.0
|
||||||
source-map-js: 1.0.2
|
source-map-js: 1.0.2
|
||||||
|
|
||||||
prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@3.36.0):
|
prettier-plugin-svelte@3.3.2(prettier@3.4.2)(svelte@3.36.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
prettier: 3.5.3
|
prettier: 3.4.2
|
||||||
svelte: 3.36.0
|
svelte: 3.36.0
|
||||||
|
|
||||||
prettier@3.5.3: {}
|
prettier@3.4.2: {}
|
||||||
|
|
||||||
proto-list@1.2.4: {}
|
proto-list@1.2.4: {}
|
||||||
|
|
||||||
@ -2835,7 +2838,7 @@ snapshots:
|
|||||||
|
|
||||||
util-deprecate@1.0.2: {}
|
util-deprecate@1.0.2: {}
|
||||||
|
|
||||||
validator@13.15.0: {}
|
validator@13.12.0: {}
|
||||||
|
|
||||||
vite-plugin-windicss@1.9.4(vite@2.1.4):
|
vite-plugin-windicss@1.9.4(vite@2.1.4):
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -2902,16 +2905,18 @@ snapshots:
|
|||||||
|
|
||||||
y18n@5.0.8: {}
|
y18n@5.0.8: {}
|
||||||
|
|
||||||
|
yargs-parser@20.2.9: {}
|
||||||
|
|
||||||
yargs-parser@21.1.1: {}
|
yargs-parser@21.1.1: {}
|
||||||
|
|
||||||
yargs@17.7.2:
|
yargs@16.2.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
cliui: 8.0.1
|
cliui: 7.0.4
|
||||||
escalade: 3.2.0
|
escalade: 3.1.1
|
||||||
get-caller-file: 2.0.5
|
get-caller-file: 2.0.5
|
||||||
require-directory: 2.1.1
|
require-directory: 2.1.1
|
||||||
string-width: 4.2.3
|
string-width: 4.2.3
|
||||||
y18n: 5.0.8
|
y18n: 5.0.8
|
||||||
yargs-parser: 21.1.1
|
yargs-parser: 20.2.9
|
||||||
|
|
||||||
yoctocolors-cjs@2.1.2: {}
|
yoctocolors-cjs@2.1.2: {}
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
onlyBuiltDependencies:
|
|
||||||
- esbuild
|
|
||||||
- svelte-preprocess
|
|
@ -1,420 +1,416 @@
|
|||||||
<script>
|
<script>
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import bg from "/beamershow_background.png?inline";
|
import bg from "/beamershow_background.png?import";
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { slide } from "svelte/transition";
|
import { slide } from "svelte/transition";
|
||||||
import { apikey, api_endpoint, laptime_track } from "./store.js";
|
import { apikey, api_endpoint, laptime_track } from "./store.js";
|
||||||
$: pages = [
|
function init(el) {
|
||||||
"general",
|
el.focus();
|
||||||
"runners_distance",
|
}
|
||||||
// "runners_laptime",
|
$: pages = [
|
||||||
"orgs_distance",
|
"general",
|
||||||
// "teams_distance",
|
"runners_distance",
|
||||||
];
|
// "runners_laptime",
|
||||||
$: current_page = "general";
|
"orgs_distance",
|
||||||
$: general = {};
|
// "teams_distance",
|
||||||
$: runners = [];
|
];
|
||||||
$: runners_by_laptime = [];
|
$: current_page = "general";
|
||||||
$: orgs = [];
|
$: general = {};
|
||||||
$: teams = [];
|
$: runners = [];
|
||||||
|
$: runners_by_laptime = [];
|
||||||
|
$: orgs = [];
|
||||||
|
$: teams = [];
|
||||||
|
|
||||||
let time = new Date();
|
let time = new Date();
|
||||||
$: hours = (time.getHours() + "").padStart(2, "0");
|
$: hours = (time.getHours() + "").padStart(2, "0");
|
||||||
$: minutes = (time.getMinutes() + "").padStart(2, "0");
|
$: minutes = (time.getMinutes() + "").padStart(2, "0");
|
||||||
$: seconds = (time.getSeconds() + "").padStart(2, "0");
|
$: seconds = (time.getSeconds() + "").padStart(2, "0");
|
||||||
function format_laptime(laptime) {
|
function format_laptime(laptime) {
|
||||||
if (laptime < 60) {
|
if (laptime < 60) {
|
||||||
return `${laptime}s`;
|
return `${laptime}s`;
|
||||||
}
|
}
|
||||||
if (laptime < 3600) {
|
if (laptime < 3600) {
|
||||||
return `${Math.floor(laptime / 60)}min ${
|
return `${Math.floor(laptime / 60)}min ${
|
||||||
laptime - Math.floor(laptime / 60) * 60
|
laptime - Math.floor(laptime / 60) * 60
|
||||||
}s`;
|
}s`;
|
||||||
}
|
}
|
||||||
return `${Math.floor(laptime / 3600)}h ${
|
return `${Math.floor(laptime / 3600)}h ${
|
||||||
laptime - Math.floor(laptime / 3600) * 3600
|
laptime - Math.floor(laptime / 3600) * 3600
|
||||||
}min ${
|
}min ${
|
||||||
laptime -
|
laptime -
|
||||||
Math.floor(laptime / 3600) * 3600 -
|
Math.floor(laptime / 3600) * 3600 -
|
||||||
Math.floor(laptime / 60) * 60
|
Math.floor(laptime / 60) * 60
|
||||||
}`;
|
}`;
|
||||||
}
|
}
|
||||||
function stats_general() {
|
function stats_general() {
|
||||||
axios
|
axios
|
||||||
.request({
|
.request({
|
||||||
method: "GET",
|
method: "GET",
|
||||||
url: $api_endpoint + "api/stats/",
|
url: $api_endpoint + "api/stats/",
|
||||||
headers: { Authorization: "Bearer " + $apikey },
|
headers: { Authorization: "Bearer " + $apikey },
|
||||||
})
|
})
|
||||||
.then(function ({ data }) {
|
.then(function ({ data }) {
|
||||||
general = data;
|
general = data;
|
||||||
})
|
})
|
||||||
.catch(function (e) {
|
.catch(function (e) {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function stats_runners() {
|
function stats_runners() {
|
||||||
axios
|
axios
|
||||||
.request({
|
.request({
|
||||||
method: "GET",
|
method: "GET",
|
||||||
url: $api_endpoint + "api/stats/runners/distance",
|
url: $api_endpoint + "api/stats/runners/distance",
|
||||||
headers: { Authorization: "Bearer " + $apikey },
|
headers: { Authorization: "Bearer " + $apikey },
|
||||||
})
|
})
|
||||||
.then(function ({ data }) {
|
.then(function ({ data }) {
|
||||||
runners = data;
|
runners = data;
|
||||||
})
|
})
|
||||||
.catch(function (e) {
|
.catch(function (e) {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function stats_runners_by_laptime() {
|
function stats_runners_by_laptime() {
|
||||||
axios
|
axios
|
||||||
.request({
|
.request({
|
||||||
method: "GET",
|
method: "GET",
|
||||||
url:
|
url:
|
||||||
$api_endpoint + "api/stats/runners/laptime?track=" + $laptime_track,
|
$api_endpoint + "api/stats/runners/laptime?track=" + $laptime_track,
|
||||||
headers: { Authorization: "Bearer " + $apikey },
|
headers: { Authorization: "Bearer " + $apikey },
|
||||||
})
|
})
|
||||||
.then(function ({ data }) {
|
.then(function ({ data }) {
|
||||||
runners_by_laptime = data;
|
runners_by_laptime = data;
|
||||||
})
|
})
|
||||||
.catch(function (e) {
|
.catch(function (e) {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function stats_orgs() {
|
function stats_orgs() {
|
||||||
axios
|
axios
|
||||||
.request({
|
.request({
|
||||||
method: "GET",
|
method: "GET",
|
||||||
url: $api_endpoint + "api/stats/organizations/distance",
|
url: $api_endpoint + "api/stats/organizations/distance",
|
||||||
headers: { Authorization: "Bearer " + $apikey },
|
headers: { Authorization: "Bearer " + $apikey },
|
||||||
})
|
})
|
||||||
.then(function ({ data }) {
|
.then(function ({ data }) {
|
||||||
orgs = data;
|
orgs = data;
|
||||||
})
|
})
|
||||||
.catch(function (e) {
|
.catch(function (e) {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
function stats_teams() {
|
function stats_teams() {
|
||||||
axios
|
axios
|
||||||
.request({
|
.request({
|
||||||
method: "GET",
|
method: "GET",
|
||||||
url: $api_endpoint + "api/stats/teams/distance",
|
url: $api_endpoint + "api/stats/teams/distance",
|
||||||
headers: { Authorization: "Bearer " + $apikey },
|
headers: { Authorization: "Bearer " + $apikey },
|
||||||
})
|
})
|
||||||
.then(function ({ data }) {
|
.then(function ({ data }) {
|
||||||
teams = data;
|
teams = data;
|
||||||
})
|
})
|
||||||
.catch(function (e) {
|
.catch(function (e) {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
Array.prototype.cycle = function (str) {
|
Array.prototype.cycle = function (str) {
|
||||||
const i = this.indexOf(str);
|
const i = this.indexOf(str);
|
||||||
if (i === -1) return undefined;
|
if (i === -1) return undefined;
|
||||||
return this[(i + 1) % this.length];
|
return this[(i + 1) % this.length];
|
||||||
};
|
};
|
||||||
function fetch_all() {
|
function fetch_all() {
|
||||||
stats_general();
|
stats_general();
|
||||||
stats_runners();
|
stats_runners();
|
||||||
// stats_runners_by_laptime();
|
// stats_runners_by_laptime();
|
||||||
stats_orgs();
|
stats_orgs();
|
||||||
stats_teams();
|
stats_teams();
|
||||||
}
|
}
|
||||||
fetch_all();
|
fetch_all();
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
time = new Date();
|
time = new Date();
|
||||||
}, 1000);
|
}, 1000);
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
fetch_all();
|
fetch_all();
|
||||||
}, 50000);
|
}, 50000);
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
current_page = pages.cycle(current_page);
|
current_page = pages.cycle(current_page);
|
||||||
}, 20000);
|
}, 20000);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
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({bg});background-position: center;background-size: contain;background-repeat:no-repeat;"
|
style="background-image: url({bg});background-position: center;background-size: contain;background-repeat:no-repeat;"
|
||||||
>
|
>
|
||||||
<div class="w-full">
|
<div class="w-full">
|
||||||
<div class="w-3/4 xl:w-1/2 mx-auto">
|
<div class="w-3/4 xl:w-1/2 mx-auto">
|
||||||
<!-- -->
|
<!-- -->
|
||||||
{#if current_page === "general"}
|
{#if current_page === "general"}
|
||||||
<div transition:slide|local>
|
<div transition:slide|local>
|
||||||
<h1
|
<h1
|
||||||
class="mr-6 text-5xl xl:text-7xl font-bold text-center text-gray-900"
|
class="mr-6 text-5xl xl:text-7xl font-bold text-center text-gray-900"
|
||||||
>
|
>
|
||||||
{$_("statistiken")}
|
Statistiken
|
||||||
</h1>
|
</h1>
|
||||||
<!-- -->
|
<!-- -->
|
||||||
<div class="flex flex-wrap -mx-1 overflow-hidden mt-5">
|
<div class="flex flex-wrap -mx-1 overflow-hidden mt-5">
|
||||||
<div class="my-1 px-1 w-full overflow-hidden sm:w-1/2 md:w-1/3">
|
<div class="my-1 px-1 w-full overflow-hidden sm:w-1/2 md:w-1/3">
|
||||||
<h1 class="text-5xl font-bold text-center text-gray-900">
|
<h1 class="text-5xl font-bold text-center text-gray-900">
|
||||||
{general.total_runners || "0"}
|
{general.total_runners || "0"}
|
||||||
</h1>
|
</h1>
|
||||||
<h1 class="text-2xl font-semibold text-center text-gray-900">
|
<h1 class="text-2xl font-semibold text-center text-gray-900">
|
||||||
{$_("laeufer")}
|
{$_("laeufer")}
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="my-1 px-1 w-full overflow-hidden sm:w-1/2 md:w-1/3">
|
<div class="my-1 px-1 w-full overflow-hidden sm:w-1/2 md:w-1/3">
|
||||||
<h1 class="text-5xl font-bold text-center text-gray-900">
|
<h1 class="text-5xl font-bold text-center text-gray-900">
|
||||||
{general.total_distance / 1000 || 0}
|
{general.total_distance / 1000 || 0}
|
||||||
</h1>
|
</h1>
|
||||||
<h1 class="text-2xl font-semibold text-center text-gray-900">
|
<h1 class="text-2xl font-semibold text-center text-gray-900">
|
||||||
{$_("kilometer-gesamt")}
|
{$_("kilometer-gesamt")}
|
||||||
</h1>
|
</h1>
|
||||||
</div>
|
</div>
|
||||||
<div class="my-1 px-1 w-full overflow-hidden sm:w-1/2 md:w-1/3">
|
<div class="my-1 px-1 w-full overflow-hidden sm:w-1/2 md:w-1/3">
|
||||||
<h1 class="text-5xl font-bold text-center text-gray-900">
|
<h1 class="text-5xl font-bold text-center text-gray-900">
|
||||||
{parseFloat(
|
{parseFloat(
|
||||||
((general.total_donation || 0) / 100).toFixed(2)
|
((general.total_donation || 0) / 100).toFixed(2)
|
||||||
).toLocaleString(undefined, {
|
).toLocaleString(undefined, {
|
||||||
minimumFractionDigits: 2,
|
minimumFractionDigits: 2,
|
||||||
maximumFractionDigits: 2,
|
maximumFractionDigits: 2,
|
||||||
}) || "0"} €
|
}) || "0"} €
|
||||||
</h1>
|
</h1>
|
||||||
<h1 class="text-2xl font-semibold text-center text-gray-900">
|
<h1 class="text-2xl font-semibold text-center text-gray-900">
|
||||||
{$_("spendensumme")}
|
{$_("spendensumme")}
|
||||||
</h1>
|
</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-5xl xl:text-7xl font-bold text-center text-gray-900 mb-3"
|
class="mr-6 text-5xl xl:text-7xl font-bold text-center text-gray-900 mb-3"
|
||||||
>
|
>
|
||||||
{$_("top-laeufer")} ({$_("distanz")})
|
{$_("top-laeufer")} ({$_("distanz")})
|
||||||
</h1>
|
</h1>
|
||||||
{#if runners.length === 0}
|
{#if runners.length === 0}
|
||||||
<p class="w-full text-center text-3xl font-semibold">
|
<p class="w-full text-center text-3xl font-semibold">
|
||||||
Noch keine Daten...
|
Noch keine Daten...
|
||||||
</p>
|
</p>
|
||||||
{:else}
|
{:else}
|
||||||
<table
|
<table
|
||||||
class="table font-semibold p-4 bg-white shadow rounded-lg w-full"
|
class="table font-semibold p-4 bg-white shadow rounded-lg w-full"
|
||||||
>
|
>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th
|
<th
|
||||||
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
||||||
>
|
>
|
||||||
{$_("platz")}
|
{$_("platz")}
|
||||||
</th>
|
</th>
|
||||||
<th
|
<th
|
||||||
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
||||||
>
|
>
|
||||||
{$_("laeufer")}
|
{$_("laeufer")}
|
||||||
</th>
|
</th>
|
||||||
<th
|
<th
|
||||||
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
||||||
>
|
>
|
||||||
{$_("organisation")}
|
{$_("organisation")}
|
||||||
</th>
|
</th>
|
||||||
<th
|
<th
|
||||||
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
||||||
>
|
>
|
||||||
{$_("kilometer")}
|
{$_("kilometer")}
|
||||||
</th>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{#each runners as r, i}
|
{#each runners as r, i}
|
||||||
<tr class="text-gray-700">
|
<tr class="text-gray-700">
|
||||||
<td class="border p-4 dark:border-dark-5">
|
<td class="border p-4 dark:border-dark-5">
|
||||||
{i + 1}
|
{i + 1}
|
||||||
</td>
|
</td>
|
||||||
<td class="border p-4 dark:border-dark-5">
|
<td class="border p-4 dark:border-dark-5">
|
||||||
{r.firstname}
|
{r.firstname}
|
||||||
{r.lastname}
|
{r.lastname}
|
||||||
</td>
|
</td>
|
||||||
<td class="border p-4 dark:border-dark-5">
|
<td class="border p-4 dark:border-dark-5">
|
||||||
{r.group.name}
|
{r.group.name}
|
||||||
</td>
|
</td>
|
||||||
<td class="border p-4 dark:border-dark-5">
|
<td class="border p-4 dark:border-dark-5">
|
||||||
{r.distance / 1000} km
|
{r.distance / 1000} km
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{/each}
|
{/each}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
{:else if current_page === "runners_laptime"}
|
{:else if current_page === "runners_laptime"}
|
||||||
<div transition:slide|local>
|
<div transition:slide|local>
|
||||||
<h1
|
<h1
|
||||||
class="mr-6 text-5xl xl:text-7xl font-bold text-center text-gray-900 mb-3"
|
class="mr-6 text-5xl xl:text-7xl font-bold text-center text-gray-900 mb-3"
|
||||||
>
|
>
|
||||||
{$_("top-laeufer")} ({$_("rundenzeit")})
|
{$_("top-laeufer")} ({$_("rundenzeit")})
|
||||||
</h1>
|
</h1>
|
||||||
{#if runners_by_laptime.length === 0}
|
{#if runners_by_laptime.length === 0}
|
||||||
<p class="w-full text-center text-3xl font-semibold">
|
<p class="w-full text-center text-3xl font-semibold">
|
||||||
Noch keine Daten...
|
Noch keine Daten...
|
||||||
</p>
|
</p>
|
||||||
{:else}
|
{:else}
|
||||||
<table
|
<table
|
||||||
class="table font-semibold p-4 bg-white shadow rounded-lg w-full"
|
class="table font-semibold p-4 bg-white shadow rounded-lg w-full"
|
||||||
>
|
>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th
|
<th
|
||||||
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
||||||
>
|
>
|
||||||
{$_("platz")}
|
{$_("platz")}
|
||||||
</th>
|
</th>
|
||||||
<th
|
<th
|
||||||
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
||||||
>
|
>
|
||||||
{$_("laeufer")}
|
{$_("laeufer")}
|
||||||
</th>
|
</th>
|
||||||
<th
|
<th
|
||||||
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
||||||
>
|
>
|
||||||
{$_("organisation")}
|
{$_("organisation")}
|
||||||
</th>
|
</th>
|
||||||
<th
|
<th
|
||||||
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
||||||
>
|
>
|
||||||
{$_("schnellste-rundenzeit")}
|
{$_("schnellste-rundenzeit")}
|
||||||
</th>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
{#each runners_by_laptime as r, i}
|
{#each runners_by_laptime as r, i}
|
||||||
<tr class="text-gray-700">
|
<tr class="text-gray-700">
|
||||||
<td class="border p-4 dark:border-dark-5">
|
<td class="border p-4 dark:border-dark-5">
|
||||||
{i + 1}
|
{i + 1}
|
||||||
</td>
|
</td>
|
||||||
<td class="border p-4 dark:border-dark-5">
|
<td class="border p-4 dark:border-dark-5">
|
||||||
{r.firstname}
|
{r.firstname}
|
||||||
{r.lastname}
|
{r.lastname}
|
||||||
</td>
|
</td>
|
||||||
<td class="border p-4 dark:border-dark-5">
|
<td class="border p-4 dark:border-dark-5">
|
||||||
{r.group.name}
|
{r.group.name}
|
||||||
</td>
|
</td>
|
||||||
<td class="border p-4 dark:border-dark-5">
|
<td class="border p-4 dark:border-dark-5">
|
||||||
{format_laptime(r.minLaptime)}
|
{format_laptime(r.minLaptime)}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
{/each}
|
{/each}
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
{:else if current_page === "orgs_distance"}
|
{:else if current_page === "orgs_distance"}
|
||||||
<div transition:slide|local>
|
<div transition:slide|local>
|
||||||
<h1
|
<h1
|
||||||
class="mr-6 text-5xl xl:text-7xl font-bold text-center text-gray-900 mb-3"
|
class="mr-6 text-5xl xl:text-7xl font-bold text-center text-gray-900 mb-3"
|
||||||
>
|
>
|
||||||
{$_("top-organisationen")}
|
{$_("top-organisationen")}
|
||||||
</h1>
|
</h1>
|
||||||
{#if orgs.length === 0}
|
<table
|
||||||
<p class="w-full text-center text-3xl font-semibold">
|
class="table font-semibold p-4 bg-white shadow rounded-lg w-full"
|
||||||
Noch keine Daten...
|
>
|
||||||
</p>
|
<thead>
|
||||||
{:else}
|
<tr>
|
||||||
<table
|
<th
|
||||||
class="table font-semibold p-4 bg-white shadow rounded-lg w-full"
|
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
||||||
>
|
>
|
||||||
<thead>
|
{$_("platz")}
|
||||||
<tr>
|
</th>
|
||||||
<th
|
<th
|
||||||
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
||||||
>
|
>
|
||||||
{$_("platz")}
|
{$_("organsiation")}
|
||||||
</th>
|
</th>
|
||||||
<th
|
<th
|
||||||
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
||||||
>
|
>
|
||||||
{$_("organsiation")}
|
{$_("kilometer")}
|
||||||
</th>
|
</th>
|
||||||
<th
|
</tr>
|
||||||
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
</thead>
|
||||||
>
|
<tbody>
|
||||||
{$_("kilometer")}
|
{#each orgs as o, i}
|
||||||
</th>
|
<tr class="text-gray-700">
|
||||||
</tr>
|
<td class="border p-4 dark:border-dark-5">
|
||||||
</thead>
|
{i + 1}
|
||||||
<tbody>
|
</td>
|
||||||
{#each orgs as o, i}
|
<td class="border p-4 dark:border-dark-5">
|
||||||
<tr class="text-gray-700">
|
{o.name}
|
||||||
<td class="border p-4 dark:border-dark-5">
|
</td>
|
||||||
{i + 1}
|
<td class="border p-4 dark:border-dark-5">
|
||||||
</td>
|
{o.distance / 1000} km
|
||||||
<td class="border p-4 dark:border-dark-5">
|
</td>
|
||||||
{o.name}
|
</tr>
|
||||||
</td>
|
{/each}
|
||||||
<td class="border p-4 dark:border-dark-5">
|
</tbody>
|
||||||
{o.distance / 1000} km
|
</table>
|
||||||
</td>
|
</div>
|
||||||
</tr>
|
{:else if current_page === "teams_distance"}
|
||||||
{/each}
|
<div transition:slide|local>
|
||||||
</tbody>
|
<h1
|
||||||
</table>
|
class="mr-6 text-5xl xl:text-7xl font-bold text-center text-gray-900 mb-3"
|
||||||
{/if}
|
>
|
||||||
</div>
|
{$_("top-teams")}
|
||||||
{:else if current_page === "teams_distance"}
|
</h1>
|
||||||
<div transition:slide|local>
|
<table
|
||||||
<h1
|
class="table font-semibold p-4 bg-white shadow rounded-lg w-full"
|
||||||
class="mr-6 text-5xl xl:text-7xl font-bold text-center text-gray-900 mb-3"
|
>
|
||||||
>
|
<thead>
|
||||||
{$_("top-teams")}
|
<tr>
|
||||||
</h1>
|
<th
|
||||||
<table
|
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
||||||
class="table font-semibold p-4 bg-white shadow rounded-lg w-full"
|
>
|
||||||
>
|
{$_("platz")}
|
||||||
<thead>
|
</th>
|
||||||
<tr>
|
<th
|
||||||
<th
|
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
||||||
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
>
|
||||||
>
|
{$_("team")}
|
||||||
{$_("platz")}
|
</th>
|
||||||
</th>
|
<th
|
||||||
<th
|
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
||||||
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
>
|
||||||
>
|
{$_("kilometer")}
|
||||||
{$_("team")}
|
</th>
|
||||||
</th>
|
</tr>
|
||||||
<th
|
</thead>
|
||||||
class="border p-4 dark:border-dark-5 whitespace-nowrap font-normal text-gray-900"
|
<tbody>
|
||||||
>
|
{#each teams as t, i}
|
||||||
{$_("kilometer")}
|
<tr class="text-gray-700">
|
||||||
</th>
|
<td class="border p-4 dark:border-dark-5">
|
||||||
</tr>
|
{i + 1}
|
||||||
</thead>
|
</td>
|
||||||
<tbody>
|
<td class="border p-4 dark:border-dark-5">
|
||||||
{#each teams as t, i}
|
{t.name}
|
||||||
<tr class="text-gray-700">
|
</td>
|
||||||
<td class="border p-4 dark:border-dark-5">
|
<td class="border p-4 dark:border-dark-5">
|
||||||
{i + 1}
|
{t.distance / 1000} km
|
||||||
</td>
|
</td>
|
||||||
<td class="border p-4 dark:border-dark-5">
|
</tr>
|
||||||
{t.parent.name}<br />
|
{/each}
|
||||||
{t.name}
|
</tbody>
|
||||||
</td>
|
</table>
|
||||||
<td class="border p-4 dark:border-dark-5">
|
</div>
|
||||||
{t.distance / 1000} km
|
{:else}
|
||||||
</td>
|
<!-- content here -->
|
||||||
</tr>
|
{/if}
|
||||||
{/each}
|
</div>
|
||||||
</tbody>
|
</div>
|
||||||
</table>
|
<h1
|
||||||
</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"
|
||||||
{:else}
|
>
|
||||||
<!-- content here -->
|
{hours}:{minutes}:{seconds}
|
||||||
{/if}
|
</h1>
|
||||||
</div>
|
<h1
|
||||||
</div>
|
class="text-xl xl:text-3xl font-medium text-center text-gray-900 font-mono bottom-2 xl:bottom-4 w-full fixed"
|
||||||
<h1
|
>
|
||||||
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"
|
<span class="text-black font-extrabold">Lauf für Kaya!</span> - powered by ODIT.Services
|
||||||
>
|
</h1>
|
||||||
{hours}:{minutes}:{seconds}
|
|
||||||
</h1>
|
|
||||||
<h1
|
|
||||||
class="text-xl xl:text-3xl font-medium text-center text-gray-900 font-mono bottom-2 xl:bottom-4 w-full fixed"
|
|
||||||
>
|
|
||||||
<span class="text-black font-extrabold">Lauf für Kaya!</span> - powered by ODIT.Services
|
|
||||||
</h1>
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
<script>
|
<script>
|
||||||
import bg from "/beamershow_background.png?inline";
|
|
||||||
import { apikey, lang, api_endpoint, laptime_track, clear } from "./store.js";
|
import { apikey, lang, api_endpoint, laptime_track, clear } from "./store.js";
|
||||||
import isURL from "validator/lib/isURL";
|
import isURL from "validator/lib/isURL";
|
||||||
import isUUID from "validator/lib/isUUID";
|
import isUUID from "validator/lib/isUUID";
|
||||||
@ -254,7 +253,7 @@
|
|||||||
<img
|
<img
|
||||||
alt=""
|
alt=""
|
||||||
class="object-cover w-full h-screen hidden md:block"
|
class="object-cover w-full h-screen hidden md:block"
|
||||||
src={bg}
|
src="https://source.unsplash.com/IXUM4cJynP0"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -30,7 +30,6 @@
|
|||||||
"spendensumme": "Spendensumme",
|
"spendensumme": "Spendensumme",
|
||||||
"station_description": "Beschreibung der Scanstation",
|
"station_description": "Beschreibung der Scanstation",
|
||||||
"station_id": "Scanstations-ID",
|
"station_id": "Scanstations-ID",
|
||||||
"statistiken": "Statistiken",
|
|
||||||
"team": "Team",
|
"team": "Team",
|
||||||
"the_provided_scan_station_is_disabled": "Die angegebene Scanstation ist deaktiviert.",
|
"the_provided_scan_station_is_disabled": "Die angegebene Scanstation ist deaktiviert.",
|
||||||
"the_provided_scan_station_token_is_invalid": "Der angegebene Scanstation-Token ist ungültig.",
|
"the_provided_scan_station_token_is_invalid": "Der angegebene Scanstation-Token ist ungültig.",
|
||||||
|
@ -30,7 +30,6 @@
|
|||||||
"spendensumme": "Donations",
|
"spendensumme": "Donations",
|
||||||
"station_description": "Station Description",
|
"station_description": "Station Description",
|
||||||
"station_id": "Scanstation ID",
|
"station_id": "Scanstation ID",
|
||||||
"statistiken": "Statistics",
|
|
||||||
"team": "Team",
|
"team": "Team",
|
||||||
"the_provided_scan_station_is_disabled": "The provided scan station is disabled.",
|
"the_provided_scan_station_is_disabled": "The provided scan station is disabled.",
|
||||||
"the_provided_scan_station_token_is_invalid": "The provided scan station token is invalid.",
|
"the_provided_scan_station_token_is_invalid": "The provided scan station token is invalid.",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user