Compare commits
	
		
			54 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						52528d31a4
	
				 | 
					
					
						|||
| 
						
						
							
						
						e6ff8ef80b
	
				 | 
					
					
						|||
| 
						
						
							
						
						aa707ff0cc
	
				 | 
					
					
						|||
| 
						
						
							
						
						dc0488b1b7
	
				 | 
					
					
						|||
| 
						
						
							
						
						4920da1df1
	
				 | 
					
					
						|||
| 
						
						
							
						
						f9a84f798b
	
				 | 
					
					
						|||
| 
						
						
							
						
						c6f7210196
	
				 | 
					
					
						|||
| 
						
						
							
						
						c286969a9d
	
				 | 
					
					
						|||
| 
						
						
							
						
						14ae9e49fb
	
				 | 
					
					
						|||
| 
						
						
							
						
						4874b22796
	
				 | 
					
					
						|||
| 
						
						
							
						
						72d34cbfd7
	
				 | 
					
					
						|||
| 
						
						
							
						
						b10e964ad9
	
				 | 
					
					
						|||
| 
						
						
							
						
						919b2956ab
	
				 | 
					
					
						|||
| 
						
						
							
						
						c4ad18cb4f
	
				 | 
					
					
						|||
| 
						
						
							
						
						ab4f82ccf1
	
				 | 
					
					
						|||
| 
						
						
							
						
						1235776a62
	
				 | 
					
					
						|||
| 
						
						
							
						
						4a1e26663e
	
				 | 
					
					
						|||
| 
						
						
							
						
						2bdbd00189
	
				 | 
					
					
						|||
| 
						
						
							
						
						85e7b7c231
	
				 | 
					
					
						|||
| 
						
						
							
						
						d5f685a826
	
				 | 
					
					
						|||
| 
						
						
							
						
						88449174a1
	
				 | 
					
					
						|||
| 
						
						
							
						
						d30be90102
	
				 | 
					
					
						|||
| 
						
						
							
						
						7e3570e923
	
				 | 
					
					
						|||
| 
						
						
							
						
						3ac0a3c142
	
				 | 
					
					
						|||
| 
						
						
							
						
						dc588e83c0
	
				 | 
					
					
						|||
| 
						
						
							
						
						5d764a80a7
	
				 | 
					
					
						|||
| 
						
						
							
						
						0f32c71ef0
	
				 | 
					
					
						|||
| 
						
						
							
						
						4b1a1a324b
	
				 | 
					
					
						|||
| 
						
						
							
						
						569296928e
	
				 | 
					
					
						|||
| 
						
						
							
						
						c33157e2d4
	
				 | 
					
					
						|||
| 
						
						
							
						
						ee9799736f
	
				 | 
					
					
						|||
| 
						
						
							
						
						8d38e81b78
	
				 | 
					
					
						|||
| 
						
						
							
						
						7005ec6a28
	
				 | 
					
					
						|||
| 
						
						
							
						
						38b0fccb5a
	
				 | 
					
					
						|||
| 
						
						
							
						
						8a4974ffa9
	
				 | 
					
					
						|||
| 
						
						
							
						
						9b83b38356
	
				 | 
					
					
						|||
| 
						
						
							
						
						047941babb
	
				 | 
					
					
						|||
| 
						
						
							
						
						f909575ca5
	
				 | 
					
					
						|||
| 
						
						
							
						
						70a6120447
	
				 | 
					
					
						|||
| 
						
						
							
						
						b483ed1e49
	
				 | 
					
					
						|||
| 
						
						
							
						
						2ce93b45c7
	
				 | 
					
					
						|||
| 
						
						
							
						
						8139a3f60b
	
				 | 
					
					
						|||
| 
						
						
							
						
						431fc5a047
	
				 | 
					
					
						|||
| 
						
						
							
						
						b287db4d0a
	
				 | 
					
					
						|||
| 
						
						
							
						
						b3ce711e6b
	
				 | 
					
					
						|||
| 
						
						
							
						
						456c0635a4
	
				 | 
					
					
						|||
| 
						
						
							
						
						b50398f6eb
	
				 | 
					
					
						|||
| 
						
						
							
						
						e04e6713bc
	
				 | 
					
					
						|||
| 
						
						
							
						
						de373390ba
	
				 | 
					
					
						|||
| 
						
						
							
						
						5be665b65f
	
				 | 
					
					
						|||
| 
						
						
							
						
						324612b5dd
	
				 | 
					
					
						|||
| 
						
						
							
						
						ca1c96b252
	
				 | 
					
					
						|||
| 
						
						
							
						
						d284e8184c
	
				 | 
					
					
						|||
| 
						
						
							
						
						701aae9ed4
	
				 | 
					
					
						
							
								
								
									
										60
									
								
								.drone.yml
									
									
									
									
									
								
							
							
						
						
									
										60
									
								
								.drone.yml
									
									
									
									
									
								
							@@ -1,60 +0,0 @@
 | 
				
			|||||||
---
 | 
					 | 
				
			||||||
kind: secret
 | 
					 | 
				
			||||||
name: docker_username
 | 
					 | 
				
			||||||
get:
 | 
					 | 
				
			||||||
  path: odit-registry-builder
 | 
					 | 
				
			||||||
  name: username
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
kind: secret
 | 
					 | 
				
			||||||
name: docker_password
 | 
					 | 
				
			||||||
get:
 | 
					 | 
				
			||||||
  path: odit-registry-builder
 | 
					 | 
				
			||||||
  name: password
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
kind: pipeline
 | 
					 | 
				
			||||||
type: kubernetes
 | 
					 | 
				
			||||||
name: build:dev
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
steps:
 | 
					 | 
				
			||||||
  - name: build dev
 | 
					 | 
				
			||||||
    image: plugins/docker
 | 
					 | 
				
			||||||
    depends_on: [clone]
 | 
					 | 
				
			||||||
    settings:
 | 
					 | 
				
			||||||
      username:
 | 
					 | 
				
			||||||
        from_secret: docker_username
 | 
					 | 
				
			||||||
      password:
 | 
					 | 
				
			||||||
        from_secret: docker_password
 | 
					 | 
				
			||||||
      repo: registry.odit.services/lfk/beamershow
 | 
					 | 
				
			||||||
      tags:
 | 
					 | 
				
			||||||
        - dev
 | 
					 | 
				
			||||||
      registry: registry.odit.services
 | 
					 | 
				
			||||||
      mtu: 1000
 | 
					 | 
				
			||||||
trigger:
 | 
					 | 
				
			||||||
  branch:
 | 
					 | 
				
			||||||
    - dev
 | 
					 | 
				
			||||||
  event:
 | 
					 | 
				
			||||||
    - push
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
kind: pipeline
 | 
					 | 
				
			||||||
type: kubernetes
 | 
					 | 
				
			||||||
name: build:tags
 | 
					 | 
				
			||||||
steps:
 | 
					 | 
				
			||||||
  - name: build $DRONE_TAG
 | 
					 | 
				
			||||||
    image: plugins/docker
 | 
					 | 
				
			||||||
    depends_on: [clone]
 | 
					 | 
				
			||||||
    settings:
 | 
					 | 
				
			||||||
      username:
 | 
					 | 
				
			||||||
        from_secret: docker_username
 | 
					 | 
				
			||||||
      password:
 | 
					 | 
				
			||||||
        from_secret: docker_password
 | 
					 | 
				
			||||||
      repo: registry.odit.services/lfk/beamershow
 | 
					 | 
				
			||||||
      tags:
 | 
					 | 
				
			||||||
        - '${DRONE_TAG}'
 | 
					 | 
				
			||||||
      registry: registry.odit.services
 | 
					 | 
				
			||||||
      mtu: 1000
 | 
					 | 
				
			||||||
trigger:
 | 
					 | 
				
			||||||
  event:
 | 
					 | 
				
			||||||
  - tag
 | 
					 | 
				
			||||||
							
								
								
									
										33
									
								
								.gitea/workflows/release.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								.gitea/workflows/release.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,33 @@
 | 
				
			|||||||
 | 
					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
 | 
				
			||||||
							
								
								
									
										1
									
								
								.husky/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.husky/.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1 +0,0 @@
 | 
				
			|||||||
_
 | 
					 | 
				
			||||||
@@ -1,5 +0,0 @@
 | 
				
			|||||||
#!/bin/sh
 | 
					 | 
				
			||||||
. "$(dirname "$0")/_/husky.sh"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
yarn format
 | 
					 | 
				
			||||||
yarn license:export
 | 
					 | 
				
			||||||
							
								
								
									
										94
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										94
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -2,11 +2,105 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
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.6](https://git.odit.services/lfk/beamershow/compare/1.0.5...1.0.6)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- 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: 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)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> 18 December 2024
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- 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)
 | 
				
			||||||
 | 
					- 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)
 | 
				
			||||||
 | 
					- 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)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### [1.0.4](https://git.odit.services/lfk/beamershow/compare/1.0.3...1.0.4)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> 15 April 2023
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- 🚀Bumped version to 1.0.4 [`4a1e266`](https://git.odit.services/lfk/beamershow/commit/4a1e26663e29339d6373fa8c340ba2117d3ecf28)
 | 
				
			||||||
 | 
					- fix: formatting of total km [`2bdbd00`](https://git.odit.services/lfk/beamershow/commit/2bdbd001898b9dd5aa541f3cce90fc108e7e458c)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### [1.0.3](https://git.odit.services/lfk/beamershow/compare/1.0.2...1.0.3)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> 15 April 2023
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- 🚀Bumped version to 1.0.3 [`85e7b7c`](https://git.odit.services/lfk/beamershow/commit/85e7b7c231b92233b58373cd4ad56f514d6d789c)
 | 
				
			||||||
 | 
					- cleanup loading [`d5f685a`](https://git.odit.services/lfk/beamershow/commit/d5f685a8269737d148a06e0ec784c0074eac7d3f)
 | 
				
			||||||
 | 
					- drop laptime runner stats, fix runner distance page [`8844917`](https://git.odit.services/lfk/beamershow/commit/88449174a148ab7498075a15149388213a532c02)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### [1.0.2](https://git.odit.services/lfk/beamershow/compare/1.0.1...1.0.2)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> 15 April 2023
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- 🚀Bumped version to 1.0.2 [`d30be90`](https://git.odit.services/lfk/beamershow/commit/d30be90102b3065b16836adc44a686c677e3053d)
 | 
				
			||||||
 | 
					- updated release config [`7e3570e`](https://git.odit.services/lfk/beamershow/commit/7e3570e9231929f366047ff149364ec06344d2ee)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### [1.0.1](https://git.odit.services/lfk/beamershow/compare/1.0.0...1.0.1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> 15 April 2023
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- 🚀Bumped version to 1.0.1 [`3ac0a3c`](https://git.odit.services/lfk/beamershow/commit/3ac0a3c142427adb3b3d461cd39a458685a85335)
 | 
				
			||||||
 | 
					- fix bg image? [`dc588e8`](https://git.odit.services/lfk/beamershow/commit/dc588e83c03d7e381f67c52b5fd5430fd0462742)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### [1.0.0](https://git.odit.services/lfk/beamershow/compare/0.1.5...1.0.0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> 15 April 2023
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- pin clock to bottom [`b287db4`](https://git.odit.services/lfk/beamershow/commit/b287db4d0a57e8a07d30b756ce0bea30da5ef4e3)
 | 
				
			||||||
 | 
					- update font to match lfk 2023 branding [`70a6120`](https://git.odit.services/lfk/beamershow/commit/70a61204471cea8f8d5dc17ad225c39c5cd91a43)
 | 
				
			||||||
 | 
					- bump windicss [`c33157e`](https://git.odit.services/lfk/beamershow/commit/c33157e2d4c5e4a5e9d30d96650e0bfa5ab1ab57)
 | 
				
			||||||
 | 
					- 1 more empty state [`f909575`](https://git.odit.services/lfk/beamershow/commit/f909575ca5ac862ec8e34d783831c2fcb53f2083)
 | 
				
			||||||
 | 
					- add empty state for runners_laptime [`8139a3f`](https://git.odit.services/lfk/beamershow/commit/8139a3f60b3544a8992d97b8b9d49520b28270bd)
 | 
				
			||||||
 | 
					- 🚀Bumped version to 1.0.0 [`5d764a8`](https://git.odit.services/lfk/beamershow/commit/5d764a80a7d25be7f6c2bb29a22b816875a739bf)
 | 
				
			||||||
 | 
					- updated pnpm lock [`de37339`](https://git.odit.services/lfk/beamershow/commit/de373390ba7051e22f1c4904b1ed60e1dc0e0c7a)
 | 
				
			||||||
 | 
					- text responsiveness [`9b83b38`](https://git.odit.services/lfk/beamershow/commit/9b83b38356b3faa677421a98c8655bc2357fb489)
 | 
				
			||||||
 | 
					- fix: font responsiveness [`38b0fcc`](https://git.odit.services/lfk/beamershow/commit/38b0fccb5abf762b88d5a8a3ad27cb80cf85ccb0)
 | 
				
			||||||
 | 
					- fix: typo [`8a4974f`](https://git.odit.services/lfk/beamershow/commit/8a4974ffa95b4d45f14c14130d7b7cb584c5cb52)
 | 
				
			||||||
 | 
					- format donation total [`431fc5a`](https://git.odit.services/lfk/beamershow/commit/431fc5a0474076568e9184d4c6b9819af6cc2e3f)
 | 
				
			||||||
 | 
					- default fallback on no data [`e04e671`](https://git.odit.services/lfk/beamershow/commit/e04e6713bc282810da2a0d103484cb6043af6063)
 | 
				
			||||||
 | 
					- formatting [`047941b`](https://git.odit.services/lfk/beamershow/commit/047941babbccb1f0674347babfa1468ac51fa487)
 | 
				
			||||||
 | 
					- monospace clock [`b50398f`](https://git.odit.services/lfk/beamershow/commit/b50398f6eb4e99e4d1c0d654e2710b265186837a)
 | 
				
			||||||
 | 
					- formatting [`ee97997`](https://git.odit.services/lfk/beamershow/commit/ee9799736f912f32e37e0d5d06a5591ec6180a31)
 | 
				
			||||||
 | 
					- improved clock position on xl [`0f32c71`](https://git.odit.services/lfk/beamershow/commit/0f32c71ef0e0267b2dc271507346c60b83eaa176)
 | 
				
			||||||
 | 
					- improved clock alignment [`4b1a1a3`](https://git.odit.services/lfk/beamershow/commit/4b1a1a324b865354472e45e0ef24230678be6111)
 | 
				
			||||||
 | 
					- fix container width [`5692969`](https://git.odit.services/lfk/beamershow/commit/569296928ee0a3c21844c183d74a36d759f65150)
 | 
				
			||||||
 | 
					- improved footer [`8d38e81`](https://git.odit.services/lfk/beamershow/commit/8d38e81b782252c84163aa87ec660199a2e2b065)
 | 
				
			||||||
 | 
					- updated width [`7005ec6`](https://git.odit.services/lfk/beamershow/commit/7005ec6a28b50763a5e4ee42a8d50e9953149168)
 | 
				
			||||||
 | 
					- drop "teams_distance" screen [`b483ed1`](https://git.odit.services/lfk/beamershow/commit/b483ed1e49aebbdfb59b41df75160a8acab546b2)
 | 
				
			||||||
 | 
					- improved empty state [`2ce93b4`](https://git.odit.services/lfk/beamershow/commit/2ce93b45c772284e59d84f063069e1546434bbc3)
 | 
				
			||||||
 | 
					- fix: width of general container [`b3ce711`](https://git.odit.services/lfk/beamershow/commit/b3ce711e6b8a8497ccbe6e5eea5ff1d6cd550e91)
 | 
				
			||||||
 | 
					- reload data every 90s [`456c063`](https://git.odit.services/lfk/beamershow/commit/456c0635a4fb5e129e94d4537fb735dc94933a12)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### [0.1.5](https://git.odit.services/lfk/beamershow/compare/0.1.4...0.1.5)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> 29 March 2023
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- Switched dockerfile over to pnpm + cache [`701aae9`](https://git.odit.services/lfk/beamershow/commit/701aae9ed4af66b973e88fec384e46752fcb9ca2)
 | 
				
			||||||
 | 
					- Switched ci over to pnpm cache [`324612b`](https://git.odit.services/lfk/beamershow/commit/324612b5ddc1cf148a7750a02cdce557bef54d38)
 | 
				
			||||||
 | 
					- pinned dependencies [`d284e81`](https://git.odit.services/lfk/beamershow/commit/d284e8184c5a3c357398e3ab5a24a2e611001640)
 | 
				
			||||||
 | 
					- 🚀Bumped version to 0.1.5 [`5be665b`](https://git.odit.services/lfk/beamershow/commit/5be665b65fc021ae8ae544a965444cc29ec20e62)
 | 
				
			||||||
 | 
					- Docker copy all [`ca1c96b`](https://git.odit.services/lfk/beamershow/commit/ca1c96b252c9665b94dd9ef37c700afbb0039d46)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### [0.1.4](https://git.odit.services/lfk/beamershow/compare/0.1.3...0.1.4)
 | 
					#### [0.1.4](https://git.odit.services/lfk/beamershow/compare/0.1.3...0.1.4)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> 5 February 2023
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- cleanup invalid track stuff (leftovers from scanclient) [`c485898`](https://git.odit.services/lfk/beamershow/commit/c485898b7db7ae09f6e405e12aa6d458833f2dcf)
 | 
					- cleanup invalid track stuff (leftovers from scanclient) [`c485898`](https://git.odit.services/lfk/beamershow/commit/c485898b7db7ae09f6e405e12aa6d458833f2dcf)
 | 
				
			||||||
- bullet-proof login ux [`ea08127`](https://git.odit.services/lfk/beamershow/commit/ea08127927e2b1ebcbcd7907fbf51a66a43da421)
 | 
					- bullet-proof login ux [`ea08127`](https://git.odit.services/lfk/beamershow/commit/ea08127927e2b1ebcbcd7907fbf51a66a43da421)
 | 
				
			||||||
- add rst command [`ee6af3e`](https://git.odit.services/lfk/beamershow/commit/ee6af3e06921ef33651076b8767149c2df3a1f2d)
 | 
					- add rst command [`ee6af3e`](https://git.odit.services/lfk/beamershow/commit/ee6af3e06921ef33651076b8767149c2df3a1f2d)
 | 
				
			||||||
 | 
					- 🚀Bumped version to 0.1.4 [`7f7b743`](https://git.odit.services/lfk/beamershow/commit/7f7b743f414b77902a358b6bd813412096d195b3)
 | 
				
			||||||
- Settings: reload on lang change [`e0f400a`](https://git.odit.services/lfk/beamershow/commit/e0f400a800f2652cf3edf2ac0a5f802b65d0c460)
 | 
					- Settings: reload on lang change [`e0f400a`](https://git.odit.services/lfk/beamershow/commit/e0f400a800f2652cf3edf2ac0a5f802b65d0c460)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### [0.1.3](https://git.odit.services/lfk/beamershow/compare/0.1.2...0.1.3)
 | 
					#### [0.1.3](https://git.odit.services/lfk/beamershow/compare/0.1.2...0.1.3)
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										16
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								Dockerfile
									
									
									
									
									
								
							@@ -1,12 +1,12 @@
 | 
				
			|||||||
FROM node:15.11.0-alpine3.13
 | 
					FROM registry.odit.services/hub/library/node:23.11.0-alpine3.21 as build
 | 
				
			||||||
 | 
					ARG NPM_REGISTRY_URL=https://registry.npmjs.org
 | 
				
			||||||
WORKDIR /app
 | 
					WORKDIR /app
 | 
				
			||||||
COPY . .
 | 
					
 | 
				
			||||||
RUN yarn
 | 
					COPY . ./
 | 
				
			||||||
RUN yarn build
 | 
					RUN npm config set registry $NPM_REGISTRY_URL && npm i -g pnpm@10.7 && pnpm i
 | 
				
			||||||
 | 
					RUN pnpm build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# final image
 | 
					# final image
 | 
				
			||||||
FROM alpine
 | 
					FROM registry.odit.services/library/nginx-brotli:3.15 as final
 | 
				
			||||||
COPY --from=0 /app/dist /app
 | 
					COPY --from=build /app/dist /usr/share/nginx/html
 | 
				
			||||||
FROM fholzer/nginx-brotli:v1.19.1
 | 
					 | 
				
			||||||
COPY --from=1 /app /usr/share/nginx/html
 | 
					 | 
				
			||||||
COPY ./nginx.conf /etc/nginx/nginx.conf
 | 
					COPY ./nginx.conf /etc/nginx/nginx.conf
 | 
				
			||||||
@@ -7,17 +7,17 @@ This is an API client for [https://git.odit.services/lfk/backend](@lfk/backend)
 | 
				
			|||||||
## Dev🛠
 | 
					## Dev🛠
 | 
				
			||||||
### 🚀 Getting Started
 | 
					### 🚀 Getting Started
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
yarn
 | 
					pnpm i
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
### Development
 | 
					### Development
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
yarn dev
 | 
					pnpm dev
 | 
				
			||||||
/
 | 
					/
 | 
				
			||||||
yarn dev --open
 | 
					pnpm dev --open
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
### Build
 | 
					### Build
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
yarn build
 | 
					pnpm build
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Use (quickstart) 🔥
 | 
					## Use (quickstart) 🔥
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,6 +6,11 @@
 | 
				
			|||||||
    <title>LfK!Beamershow</title>
 | 
					    <title>LfK!Beamershow</title>
 | 
				
			||||||
    <base href="./" />
 | 
					    <base href="./" />
 | 
				
			||||||
    <link rel="icon" type="image/png" href="./favicon.png" />
 | 
					    <link rel="icon" type="image/png" href="./favicon.png" />
 | 
				
			||||||
 | 
					    <style>
 | 
				
			||||||
 | 
					      * {
 | 
				
			||||||
 | 
					        font-family: "Athiti", sans-serif;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    </style>
 | 
				
			||||||
  </head>
 | 
					  </head>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <body class="bg-white font-family-karla h-screen">
 | 
					  <body class="bg-white font-family-karla h-screen">
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										6003
									
								
								licenses.md
									
									
									
									
									
								
							
							
						
						
									
										6003
									
								
								licenses.md
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										35
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										35
									
								
								package.json
									
									
									
									
									
								
							@@ -1,41 +1,39 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	"name": "@lfk/beamershow",
 | 
						"name": "@lfk/beamershow",
 | 
				
			||||||
	"version": "0.1.4",
 | 
						"version": "1.0.6",
 | 
				
			||||||
	"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",
 | 
				
			||||||
		"prepare": "husky install",
 | 
					 | 
				
			||||||
		"license: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.0.11",
 | 
							"@odit/license-exporter": "0.2.0",
 | 
				
			||||||
		"@svitejs/vite-plugin-svelte": "^0.11.1",
 | 
							"@philippdormann/release-it": "1.0.0",
 | 
				
			||||||
		"@tsconfig/svelte": "^1.0.10",
 | 
							"@svitejs/vite-plugin-svelte": "0.11.1",
 | 
				
			||||||
		"@types/html-minifier": "^4.0.0",
 | 
							"@tsconfig/svelte": "1.0.10",
 | 
				
			||||||
		"axios": "^0.21.1",
 | 
							"@types/html-minifier": "4.0.5",
 | 
				
			||||||
		"html-minifier": "^4.0.0",
 | 
							"axios": "0.21.1",
 | 
				
			||||||
		"husky": "^5.1.3",
 | 
							"html-minifier": "4.0.0",
 | 
				
			||||||
		"prettier": "^2.2.1",
 | 
							"prettier": "3.5.3",
 | 
				
			||||||
		"prettier-plugin-svelte": "^2.2.0",
 | 
							"prettier-plugin-svelte": "3.3.3",
 | 
				
			||||||
		"release-it": "14.5.0",
 | 
					 | 
				
			||||||
		"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.5.2",
 | 
							"validator": "13.15.0",
 | 
				
			||||||
		"vite": "2.1.4",
 | 
							"vite": "2.1.4",
 | 
				
			||||||
		"vite-plugin-windicss": "0.11.2"
 | 
							"vite-plugin-windicss": "1.9.4"
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	"release-it": {
 | 
						"release-it": {
 | 
				
			||||||
		"git": {
 | 
							"git": {
 | 
				
			||||||
			"commit": true,
 | 
								"commit": true,
 | 
				
			||||||
			"requireCleanWorkingDir": false,
 | 
								"requireCleanWorkingDir": false,
 | 
				
			||||||
			"commitMessage": "🚀Bumped version to ${version}",
 | 
								"commitMessage": "chore: release ${version}",
 | 
				
			||||||
			"requireBranch": "main",
 | 
								"requireBranch": "main",
 | 
				
			||||||
			"push": false,
 | 
								"push": true,
 | 
				
			||||||
			"tag": true,
 | 
								"tag": true,
 | 
				
			||||||
			"tagName": null,
 | 
								"tagName": "${version}",
 | 
				
			||||||
			"tagAnnotation": "${version}"
 | 
								"tagAnnotation": "${version}"
 | 
				
			||||||
		},
 | 
							},
 | 
				
			||||||
		"npm": {
 | 
							"npm": {
 | 
				
			||||||
@@ -44,5 +42,8 @@
 | 
				
			|||||||
		"hooks": {
 | 
							"hooks": {
 | 
				
			||||||
			"after:bump": "npx auto-changelog --commit-limit false -p -u --hide-credit && git add CHANGELOG.md && node order.js  && git add src/locales"
 | 
								"after:bump": "npx auto-changelog --commit-limit false -p -u --hide-credit && git add CHANGELOG.md && node order.js  && git add src/locales"
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						"dependencies": {
 | 
				
			||||||
 | 
							"@fontsource/athiti": "5.2.5"
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2917
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										2917
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										3
									
								
								pnpm-workspace.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								pnpm-workspace.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					onlyBuiltDependencies:
 | 
				
			||||||
 | 
					  - esbuild
 | 
				
			||||||
 | 
					  - svelte-preprocess
 | 
				
			||||||
@@ -1,17 +1,15 @@
 | 
				
			|||||||
<script>
 | 
					<script>
 | 
				
			||||||
	import axios from "axios";
 | 
						import axios from "axios";
 | 
				
			||||||
 | 
						import bg from "/beamershow_background.png?inline";
 | 
				
			||||||
	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";
 | 
				
			||||||
  function init(el) {
 | 
					 | 
				
			||||||
    el.focus();
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
	$: pages = [
 | 
						$: pages = [
 | 
				
			||||||
		"general",
 | 
							"general",
 | 
				
			||||||
		"runners_distance",
 | 
							"runners_distance",
 | 
				
			||||||
    "runners_laptime",
 | 
							// "runners_laptime",
 | 
				
			||||||
		"orgs_distance",
 | 
							"orgs_distance",
 | 
				
			||||||
    "teams_distance",
 | 
							// "teams_distance",
 | 
				
			||||||
	];
 | 
						];
 | 
				
			||||||
	$: current_page = "general";
 | 
						$: current_page = "general";
 | 
				
			||||||
	$: general = {};
 | 
						$: general = {};
 | 
				
			||||||
@@ -120,7 +118,7 @@
 | 
				
			|||||||
	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();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@@ -130,7 +128,7 @@
 | 
				
			|||||||
	}, 1000);
 | 
						}, 1000);
 | 
				
			||||||
	setInterval(() => {
 | 
						setInterval(() => {
 | 
				
			||||||
		fetch_all();
 | 
							fetch_all();
 | 
				
			||||||
  }, 15000);
 | 
						}, 50000);
 | 
				
			||||||
	setInterval(() => {
 | 
						setInterval(() => {
 | 
				
			||||||
		current_page = pages.cycle(current_page);
 | 
							current_page = pages.cycle(current_page);
 | 
				
			||||||
	}, 20000);
 | 
						}, 20000);
 | 
				
			||||||
@@ -138,35 +136,44 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
<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('/beamershow_background.png');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="max-w-xl w-full">
 | 
						<div class="w-full">
 | 
				
			||||||
 | 
							<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 class="mr-6 text-7xl font-semibold text-center text-gray-900">
 | 
										<h1
 | 
				
			||||||
          {hours}:{minutes}:{seconds}
 | 
											class="mr-6 text-5xl xl:text-7xl font-bold text-center text-gray-900"
 | 
				
			||||||
 | 
										>
 | 
				
			||||||
 | 
											{$_("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-semibold text-center text-gray-900">
 | 
												<h1 class="text-5xl font-bold text-center text-gray-900">
 | 
				
			||||||
              {general.total_runners}
 | 
													{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-semibold text-center text-gray-900">
 | 
												<h1 class="text-5xl font-bold text-center text-gray-900">
 | 
				
			||||||
              {general.total_distance}
 | 
													{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-semibold text-center text-gray-900">
 | 
												<h1 class="text-5xl font-bold text-center text-gray-900">
 | 
				
			||||||
              {general.total_donation} €
 | 
													{parseFloat(
 | 
				
			||||||
 | 
														((general.total_donation || 0) / 100).toFixed(2)
 | 
				
			||||||
 | 
													).toLocaleString(undefined, {
 | 
				
			||||||
 | 
														minimumFractionDigits: 2,
 | 
				
			||||||
 | 
														maximumFractionDigits: 2,
 | 
				
			||||||
 | 
													}) || "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")}
 | 
				
			||||||
@@ -176,10 +183,19 @@
 | 
				
			|||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			{:else if current_page === "runners_distance"}
 | 
								{:else if current_page === "runners_distance"}
 | 
				
			||||||
				<div transition:slide|local>
 | 
									<div transition:slide|local>
 | 
				
			||||||
        <h1 class="mr-6 text-7xl font-semibold text-center text-gray-900 mb-5">
 | 
										<h1
 | 
				
			||||||
 | 
											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>
 | 
				
			||||||
        <table class="table p-4 bg-white shadow rounded-lg w-full">
 | 
										{#if runners.length === 0}
 | 
				
			||||||
 | 
											<p class="w-full text-center text-3xl font-semibold">
 | 
				
			||||||
 | 
												Noch keine Daten...
 | 
				
			||||||
 | 
											</p>
 | 
				
			||||||
 | 
										{:else}
 | 
				
			||||||
 | 
											<table
 | 
				
			||||||
 | 
												class="table font-semibold p-4 bg-white shadow rounded-lg w-full"
 | 
				
			||||||
 | 
											>
 | 
				
			||||||
							<thead>
 | 
												<thead>
 | 
				
			||||||
								<tr>
 | 
													<tr>
 | 
				
			||||||
									<th
 | 
														<th
 | 
				
			||||||
@@ -224,13 +240,23 @@
 | 
				
			|||||||
								{/each}
 | 
													{/each}
 | 
				
			||||||
							</tbody>
 | 
												</tbody>
 | 
				
			||||||
						</table>
 | 
											</table>
 | 
				
			||||||
 | 
										{/if}
 | 
				
			||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			{:else if current_page === "runners_laptime"}
 | 
								{:else if current_page === "runners_laptime"}
 | 
				
			||||||
				<div transition:slide|local>
 | 
									<div transition:slide|local>
 | 
				
			||||||
        <h1 class="mr-6 text-7xl font-semibold text-center text-gray-900 mb-5">
 | 
										<h1
 | 
				
			||||||
 | 
											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>
 | 
				
			||||||
        <table class="table p-4 bg-white shadow rounded-lg w-full">
 | 
										{#if runners_by_laptime.length === 0}
 | 
				
			||||||
 | 
											<p class="w-full text-center text-3xl font-semibold">
 | 
				
			||||||
 | 
												Noch keine Daten...
 | 
				
			||||||
 | 
											</p>
 | 
				
			||||||
 | 
										{:else}
 | 
				
			||||||
 | 
											<table
 | 
				
			||||||
 | 
												class="table font-semibold p-4 bg-white shadow rounded-lg w-full"
 | 
				
			||||||
 | 
											>
 | 
				
			||||||
							<thead>
 | 
												<thead>
 | 
				
			||||||
								<tr>
 | 
													<tr>
 | 
				
			||||||
									<th
 | 
														<th
 | 
				
			||||||
@@ -275,13 +301,23 @@
 | 
				
			|||||||
								{/each}
 | 
													{/each}
 | 
				
			||||||
							</tbody>
 | 
												</tbody>
 | 
				
			||||||
						</table>
 | 
											</table>
 | 
				
			||||||
 | 
										{/if}
 | 
				
			||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			{:else if current_page === "orgs_distance"}
 | 
								{:else if current_page === "orgs_distance"}
 | 
				
			||||||
				<div transition:slide|local>
 | 
									<div transition:slide|local>
 | 
				
			||||||
        <h1 class="mr-6 text-7xl font-semibold text-center text-gray-900 mb-5">
 | 
										<h1
 | 
				
			||||||
          {$_("top-organsiationen")}
 | 
											class="mr-6 text-5xl xl:text-7xl font-bold text-center text-gray-900 mb-3"
 | 
				
			||||||
 | 
										>
 | 
				
			||||||
 | 
											{$_("top-organisationen")}
 | 
				
			||||||
					</h1>
 | 
										</h1>
 | 
				
			||||||
        <table class="table p-4 bg-white shadow rounded-lg w-full">
 | 
										{#if orgs.length === 0}
 | 
				
			||||||
 | 
											<p class="w-full text-center text-3xl font-semibold">
 | 
				
			||||||
 | 
												Noch keine Daten...
 | 
				
			||||||
 | 
											</p>
 | 
				
			||||||
 | 
										{:else}
 | 
				
			||||||
 | 
											<table
 | 
				
			||||||
 | 
												class="table font-semibold p-4 bg-white shadow rounded-lg w-full"
 | 
				
			||||||
 | 
											>
 | 
				
			||||||
							<thead>
 | 
												<thead>
 | 
				
			||||||
								<tr>
 | 
													<tr>
 | 
				
			||||||
									<th
 | 
														<th
 | 
				
			||||||
@@ -317,13 +353,18 @@
 | 
				
			|||||||
								{/each}
 | 
													{/each}
 | 
				
			||||||
							</tbody>
 | 
												</tbody>
 | 
				
			||||||
						</table>
 | 
											</table>
 | 
				
			||||||
 | 
										{/if}
 | 
				
			||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			{:else if current_page === "teams_distance"}
 | 
								{:else if current_page === "teams_distance"}
 | 
				
			||||||
				<div transition:slide|local>
 | 
									<div transition:slide|local>
 | 
				
			||||||
        <h1 class="mr-6 text-7xl font-semibold text-center text-gray-900 mb-5">
 | 
										<h1
 | 
				
			||||||
 | 
											class="mr-6 text-5xl xl:text-7xl font-bold text-center text-gray-900 mb-3"
 | 
				
			||||||
 | 
										>
 | 
				
			||||||
						{$_("top-teams")}
 | 
											{$_("top-teams")}
 | 
				
			||||||
					</h1>
 | 
										</h1>
 | 
				
			||||||
        <table class="table p-4 bg-white shadow rounded-lg w-full">
 | 
										<table
 | 
				
			||||||
 | 
											class="table font-semibold p-4 bg-white shadow rounded-lg w-full"
 | 
				
			||||||
 | 
										>
 | 
				
			||||||
						<thead>
 | 
											<thead>
 | 
				
			||||||
							<tr>
 | 
												<tr>
 | 
				
			||||||
								<th
 | 
													<th
 | 
				
			||||||
@@ -350,6 +391,7 @@
 | 
				
			|||||||
										{i + 1}
 | 
															{i + 1}
 | 
				
			||||||
									</td>
 | 
														</td>
 | 
				
			||||||
									<td class="border p-4 dark:border-dark-5">
 | 
														<td class="border p-4 dark:border-dark-5">
 | 
				
			||||||
 | 
															{t.parent.name}<br />
 | 
				
			||||||
										{t.name}
 | 
															{t.name}
 | 
				
			||||||
									</td>
 | 
														</td>
 | 
				
			||||||
									<td class="border p-4 dark:border-dark-5">
 | 
														<td class="border p-4 dark:border-dark-5">
 | 
				
			||||||
@@ -364,4 +406,15 @@
 | 
				
			|||||||
				<!-- content here -->
 | 
									<!-- content here -->
 | 
				
			||||||
			{/if}
 | 
								{/if}
 | 
				
			||||||
		</div>
 | 
							</div>
 | 
				
			||||||
 | 
						</div>
 | 
				
			||||||
 | 
						<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"
 | 
				
			||||||
 | 
						>
 | 
				
			||||||
 | 
							{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,4 +1,5 @@
 | 
				
			|||||||
<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";
 | 
				
			||||||
@@ -253,7 +254,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="https://source.unsplash.com/IXUM4cJynP0"
 | 
					      src={bg}
 | 
				
			||||||
    />
 | 
					    />
 | 
				
			||||||
  </div>
 | 
					  </div>
 | 
				
			||||||
</div>
 | 
					</div>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,11 +30,12 @@
 | 
				
			|||||||
    "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.",
 | 
				
			||||||
    "top-laeufer": "Top-Läufer",
 | 
					    "top-laeufer": "Top-Läufer",
 | 
				
			||||||
    "top-organsiationen": "Top-Organsiationen",
 | 
					    "top-organisationen": "Top-Organisationen",
 | 
				
			||||||
    "top-teams": "Top-Teams",
 | 
					    "top-teams": "Top-Teams",
 | 
				
			||||||
    "track_distance": "Länge des Tracks",
 | 
					    "track_distance": "Länge des Tracks",
 | 
				
			||||||
    "track_id": "Track ID",
 | 
					    "track_id": "Track ID",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,11 +30,12 @@
 | 
				
			|||||||
    "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.",
 | 
				
			||||||
    "top-laeufer": "Top runners",
 | 
					    "top-laeufer": "Top runners",
 | 
				
			||||||
    "top-organsiationen": "Top organizations",
 | 
					    "top-organisationen": "Top organizations",
 | 
				
			||||||
    "top-teams": "Top teams",
 | 
					    "top-teams": "Top teams",
 | 
				
			||||||
    "track_distance": "Track Distance",
 | 
					    "track_distance": "Track Distance",
 | 
				
			||||||
    "track_id": "Track ID",
 | 
					    "track_id": "Track ID",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,6 @@
 | 
				
			|||||||
import App from './App.svelte';
 | 
					import App from './App.svelte';
 | 
				
			||||||
import 'windi.css';
 | 
					import 'windi.css';
 | 
				
			||||||
 | 
					import "@fontsource/athiti"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const app = new App({
 | 
					const app = new App({
 | 
				
			||||||
	target: document.body
 | 
						target: document.body
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user