Compare commits
	
		
			16 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 94a64ca690 | |||
| 165c154233 | |||
| 318547db46 | |||
| e60c09e19c | |||
| 4834d1484c | |||
| 4b6342727e | |||
| cb5fa52cd9 | |||
| 947d01cf7f | |||
| 3563394fb3 | |||
| 269d7a7def | |||
| e95f2333b0 | |||
| 950217e0a3 | |||
| 5e65fb3301 | |||
| 2a294cde04 | |||
| e95420d79c | |||
| cffbd17dc7 | 
							
								
								
									
										36
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										36
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -2,8 +2,44 @@ | ||||
|  | ||||
| All notable changes to this project will be documented in this file. Dates are displayed in UTC. | ||||
|  | ||||
| #### [0.19.0](https://git.odit.services/lfk/frontend/compare/0.18.4...0.19.0) | ||||
|  | ||||
| - Merge pull request 'feature/173-scanstation_configcodes' (#174) from feature/173-scanstation_configcodes into dev [`165c154`](https://git.odit.services/lfk/frontend/commit/165c1542338c58f2abf42fef2e7b84b40d1e2d9c) | ||||
| - I18n [`e60c09e`](https://git.odit.services/lfk/frontend/commit/e60c09e19c9cc20338906e84f4db4e009d926360) | ||||
| - Implemented config code generation [`4b63427`](https://git.odit.services/lfk/frontend/commit/4b6342727ee0ea38597750d8c99edc301f1ccc2d) | ||||
| - Styling [`4834d14`](https://git.odit.services/lfk/frontend/commit/4834d1484c3fb6ecd4a1b56aa9fbb8125c641a62) | ||||
| - Adjusted size on smaller devices [`318547d`](https://git.odit.services/lfk/frontend/commit/318547db46045e41de64d5688368e85cd6fb8035) | ||||
| - Lockfile [`947d01c`](https://git.odit.services/lfk/frontend/commit/947d01cf7fc7fe2ee88c56e017b0d663f1f3b4f9) | ||||
| - Barcode placeholder [`cb5fa52`](https://git.odit.services/lfk/frontend/commit/cb5fa52cd9a97490b50fb0c02c26615b49650c08) | ||||
| - Added bwip-js for barcode generation [`3563394`](https://git.odit.services/lfk/frontend/commit/3563394fb33d661890327e2ae08c400830b37844) | ||||
|  | ||||
| #### [0.18.4](https://git.odit.services/lfk/frontend/compare/0.18.3...0.18.4) | ||||
|  | ||||
| > 15 April 2023 | ||||
|  | ||||
| - 🚀RELEASE v0.18.4 [`269d7a7`](https://git.odit.services/lfk/frontend/commit/269d7a7defdde059ef2bb5103262cf734e9babe9) | ||||
| - Hide address2 in orgs by default [`e95f233`](https://git.odit.services/lfk/frontend/commit/e95f2333b0b958ed00c0e097b43aac2e70ad0d38) | ||||
|  | ||||
| #### [0.18.3](https://git.odit.services/lfk/frontend/compare/0.18.2...0.18.3) | ||||
|  | ||||
| > 15 April 2023 | ||||
|  | ||||
| - 🚀RELEASE v0.18.3 [`950217e`](https://git.odit.services/lfk/frontend/commit/950217e0a350f9999b879475edf41f2f11c48179) | ||||
| - Dont show adress 2 in runner overview [`5e65fb3`](https://git.odit.services/lfk/frontend/commit/5e65fb33013c3dad38e7ad6740b017ae206f278f) | ||||
|  | ||||
| #### [0.18.2](https://git.odit.services/lfk/frontend/compare/0.18.1...0.18.2) | ||||
|  | ||||
| > 15 April 2023 | ||||
|  | ||||
| - 🚀RELEASE v0.18.2 [`2a294cd`](https://git.odit.services/lfk/frontend/commit/2a294cde040044bbebfb9c8b34b6c91b27772741) | ||||
| - Added timestamps to scanoverview [`cffbd17`](https://git.odit.services/lfk/frontend/commit/cffbd17dc77054048cc9b14891f960f9a3fd18cb) | ||||
| - Push in releaseit [`e95420d`](https://git.odit.services/lfk/frontend/commit/e95420d79c3227c0ca0cf0c0b599970c2b7d690e) | ||||
|  | ||||
| #### [0.18.1](https://git.odit.services/lfk/frontend/compare/0.18.0...0.18.1) | ||||
|  | ||||
| > 15 April 2023 | ||||
|  | ||||
| - 🚀RELEASE v0.18.1 [`00de8c3`](https://git.odit.services/lfk/frontend/commit/00de8c3d75e90cd4614f42111f5f45bedde64130) | ||||
| - Missing scanstation translations [`30e3396`](https://git.odit.services/lfk/frontend/commit/30e33968978bf33cedb31bcbf63fac273e1664f5) | ||||
| - fix: button onclick a11y [`9fe53b0`](https://git.odit.services/lfk/frontend/commit/9fe53b0b9c71e8a6b4aa3f317327ffe729df0834) | ||||
| - fix(ConfirmStatsClientDeletion): ScanStationService -> StatsClientService [`5291e04`](https://git.odit.services/lfk/frontend/commit/5291e049a1d2e880fbe277095da91b70d4812c3f) | ||||
|   | ||||
| @@ -13,7 +13,7 @@ | ||||
| </head> | ||||
|  | ||||
| <body> | ||||
|   <span style="display: none;visibility: hidden;" id="buildinfo">RELEASE_INFO-0.18.1-RELEASE_INFO</span> | ||||
|   <span style="display: none;visibility: hidden;" id="buildinfo">RELEASE_INFO-0.19.0-RELEASE_INFO</span> | ||||
|   <noscript>You need to enable JavaScript to run this app.</noscript> | ||||
|   <script src="/env.js"></script> | ||||
|   <script type="module" src="/src/main.js"></script> | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
| 	"name": "@odit/lfk-frontend", | ||||
| 	"version": "0.18.1", | ||||
| 	"version": "0.19.0", | ||||
| 	"type": "module", | ||||
| 	"scripts": { | ||||
| 		"i18n-order": "node order.js", | ||||
| @@ -26,7 +26,7 @@ | ||||
| 			"commit": true, | ||||
| 			"requireCleanWorkingDir": false, | ||||
| 			"commitMessage": "🚀RELEASE v${version}", | ||||
| 			"push": false, | ||||
| 			"push": true, | ||||
| 			"tag": true, | ||||
| 			"tagName": null, | ||||
| 			"tagAnnotation": "v${version}" | ||||
| @@ -42,6 +42,7 @@ | ||||
| 		"@odit/lfk-client-js": "0.14.3", | ||||
| 		"@paralleldrive/cuid2": "^2.2.0", | ||||
| 		"@tanstack/svelte-table": "^8.8.5", | ||||
| 		"bwip-js": "^3.4.0", | ||||
| 		"check-password-strength": "2.0.7", | ||||
| 		"csvtojson": "2.0.10", | ||||
| 		"gridjs": "3.4.0", | ||||
|   | ||||
							
								
								
									
										8
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										8
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							| @@ -10,6 +10,9 @@ dependencies: | ||||
|   '@tanstack/svelte-table': | ||||
|     specifier: ^8.8.5 | ||||
|     version: 8.8.5(svelte@3.58.0) | ||||
|   bwip-js: | ||||
|     specifier: ^3.4.0 | ||||
|     version: 3.4.0 | ||||
|   check-password-strength: | ||||
|     specifier: 2.0.7 | ||||
|     version: 2.0.7 | ||||
| @@ -847,6 +850,11 @@ packages: | ||||
|       run-applescript: 5.0.0 | ||||
|     dev: true | ||||
|  | ||||
|   /bwip-js@3.4.0: | ||||
|     resolution: {integrity: sha512-Gx9LIBhmEFmNH4FJsS+Rs+bG5hUcs+OBemEEQ2ZTLz8tue0PA/lM692Gf2yuYJ2yUpLGtK9tAexs85tXBPG/ww==} | ||||
|     hasBin: true | ||||
|     dev: false | ||||
|  | ||||
|   /bytes@3.1.2: | ||||
|     resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} | ||||
|     engines: {node: '>= 0.8'} | ||||
|   | ||||
| @@ -119,7 +119,7 @@ | ||||
|                     {/if} | ||||
|                     {#if donor.address.address1 !== null} | ||||
|                       {donor.address.address1}<br /> | ||||
|                       {donor.address.address2 || ''}<br /> | ||||
|                       <!-- {donor.address.address2 || ''}<br /> --> | ||||
|                       {donor.address.postalcode} | ||||
|                       {donor.address.city} | ||||
|                       {donor.address.country} | ||||
|   | ||||
| @@ -132,7 +132,7 @@ | ||||
|                         <div class="text-sm font-medium text-gray-900"> | ||||
|                           {#if o.address.address1 !== null} | ||||
|                             {o.address.address1}<br /> | ||||
|                             {o.address.address2 || ''}<br /> | ||||
|                             <!-- {o.address.address2 || ''}<br /> --> | ||||
|                             {o.address.postalcode} | ||||
|                             {o.address.city} | ||||
|                             {o.address.country} | ||||
|   | ||||
| @@ -95,6 +95,14 @@ | ||||
|       }, | ||||
|       enableColumnFilter: false, | ||||
|     }, | ||||
|     { | ||||
|       accessorKey: "timestamp", | ||||
|       header: () => $_("timestamp"), | ||||
|       cell: (info) => { | ||||
|         return (new Date(parseInt(info.getValue())*1000)).toLocaleString() | ||||
|       }, | ||||
|       enableColumnFilter: false, | ||||
|     }, | ||||
|     { | ||||
|       accessorKey: "distance", | ||||
|       header: () => $_("distance"), | ||||
|   | ||||
| @@ -1,14 +1,18 @@ | ||||
| <script> | ||||
|   import { _ } from "svelte-i18n"; | ||||
|  | ||||
|   import Toastify from "toastify-js"; | ||||
|   import { tick, createEventDispatcher } from "svelte"; | ||||
|   import bwipjs from "bwip-js"; | ||||
|  | ||||
|   export let copy_modal_open; | ||||
|   export let new_station; | ||||
|   const dispatch = createEventDispatcher(); | ||||
|   let valueCopy = null; | ||||
|   let areaDom; | ||||
|   let copied = false; | ||||
|   $: is_qrcode = false; | ||||
|   $: barcode = textToBase64Barcode(new_station.key, is_qrcode); | ||||
|  | ||||
|   function close() { | ||||
|     copy_modal_open = false; | ||||
|   } | ||||
| @@ -36,10 +40,30 @@ | ||||
|           "linear-gradient(90deg, hsla(281, 37%, 45%, 1) 0%, hsla(1, 62%, 48%, 1) 100%)", | ||||
|       }).showToast(); | ||||
|     } | ||||
|  | ||||
|     // we can notifi by event or storage about copy status | ||||
|     valueCopy = null; | ||||
|   } | ||||
|  | ||||
|   function textToBase64Barcode(text, is_qrcode) { | ||||
|     const canvas = document.createElement("canvas"); | ||||
|     let bcid = "code128"; | ||||
|     if (is_qrcode) { | ||||
|       bcid = "qrcode"; | ||||
|     } | ||||
|     let codeconfig = { | ||||
|       bcid, | ||||
|       text: `${text}`, | ||||
|       scale: 4, | ||||
|       includetext: true, | ||||
|       textxalign: "center", | ||||
|       backgroundcolor: "ffffff", | ||||
|     }; | ||||
|     if (bcid == "code128") { | ||||
|       codeconfig.height = 10; | ||||
|     } | ||||
|     bwipjs.toCanvas(canvas, codeconfig); | ||||
|     return canvas.toDataURL("image/png"); | ||||
|   } | ||||
| </script> | ||||
|  | ||||
| {#if copy_modal_open} | ||||
| @@ -131,6 +155,44 @@ | ||||
|               </div> | ||||
|             </div> | ||||
|           </div> | ||||
|           <div class="mx-auto text-center items-center"> | ||||
|             <h2 class="text-lg leading-6 font-medium text-gray-900"> | ||||
|               {$_("config-codes")} | ||||
|             </h2> | ||||
|             <span class="flex items-center text-center"> | ||||
|               <p class="text-md text-gray-900 mr-3">Format:</p> | ||||
|               <label for="codeswitch" class="text-md text-gray-900 mr-3" | ||||
|                 >Code128</label | ||||
|               > | ||||
|               <input | ||||
|                 id="codeswitch" | ||||
|                 type="checkbox" | ||||
|                 bind:checked={is_qrcode} | ||||
|                 class="relative shrink-0 w-[3.25rem] h-7 bg-gray-100 checked:bg-none checked:bg-blue-600 border-2 border-transparent rounded-full cursor-pointer transition-colors ease-in-out duration-200 border border-transparent ring-1 ring-transparent focus:border-blue-600 focus:ring-blue-600 ring-offset-white focus:outline-none appearance-none before:inline-block before:w-6 before:h-6 before:bg-white checked:before:bg-blue-200 before:translate-x-0 checked:before:translate-x-full before:shadow before:rounded-full before:transform before:ring-0 before:transition before:ease-in-out before:duration-200 dark:before:bg-gray-400 dark:checked:before:bg-blue-200" | ||||
|               /> | ||||
|               <label for="codeswitch" class="text-md text-gray-900 ml-3" | ||||
|                 >QR-Code</label | ||||
|               > | ||||
|             </span> | ||||
|             <h3 class="leading-6 font-medium text-gray-900"> | ||||
|               {$_("api-endpoint")} | ||||
|             </h3> | ||||
|             <img | ||||
|               class:w-[50%]={is_qrcode} | ||||
|               class:w-full={!is_qrcode} | ||||
|               class="md:w-auto mb-2 mx-auto" | ||||
|               alt="Registrierungscode" | ||||
|               src={textToBase64Barcode(config.baseurl, is_qrcode)} | ||||
|             /> | ||||
|             <h3 class="leading-6 font-medium text-gray-900">{$_("token")}</h3> | ||||
|             <img | ||||
|               class:w-[50%]={is_qrcode} | ||||
|               class:w-full={!is_qrcode} | ||||
|               class="md:w-auto mb-2 mx-auto" | ||||
|               alt="Registrierungscode" | ||||
|               src={barcode} | ||||
|             /> | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse"> | ||||
|           <button | ||||
|   | ||||
| @@ -39,6 +39,7 @@ | ||||
|     "amount": "Anzahl", | ||||
|     "amount-per-kilometer": "Betrag pro Kilometer", | ||||
|     "apartment-suite-etc": "Apartment, Wohnung, etc.", | ||||
|     "api-endpoint": "API-Endpunkt", | ||||
|     "application_name": "Lauf für Kaya! - Admin", | ||||
|     "applying-changes": "Änderungen anwenden", | ||||
|     "attention": "Achtung!", | ||||
| @@ -68,6 +69,7 @@ | ||||
|     "click-to-copy-token-to-clipboard": "Klicke auf den Token, um ihn in deine Zwischenablage zu kopieren", | ||||
|     "close": "Schließen", | ||||
|     "code": "Code", | ||||
|     "config-codes": "Konfigurations-Codes", | ||||
|     "configure-the-tracks-and-minimum-lap-times": "Bearbeite die Tracks und ihre minimale Rundenzeit", | ||||
|     "confirm": "Bestätigen", | ||||
|     "confirm-delete": "Löschung Bestätigen", | ||||
| @@ -428,6 +430,7 @@ | ||||
|     "this-card-is": "Diese Karte ist", | ||||
|     "this-might-take-a-moment": "Das könnte einen kleinen Moment dauern", | ||||
|     "this-scanstation-is": "Diese Station ist", | ||||
|     "timestamp": "Timestamp", | ||||
|     "token": "Token", | ||||
|     "total-distance": "gelaufene Strecke", | ||||
|     "total-donation-amount": "Gesamtbetrag", | ||||
|   | ||||
| @@ -39,6 +39,7 @@ | ||||
|     "amount": "Amount", | ||||
|     "amount-per-kilometer": "Amount per kilometer", | ||||
|     "apartment-suite-etc": "Apartment, suite, etc.", | ||||
|     "api-endpoint": "API-Endpoint", | ||||
|     "application_name": "Lauf für Kaya! - Admin", | ||||
|     "applying-changes": "Applying Changes", | ||||
|     "attention": "Attention!", | ||||
| @@ -68,6 +69,7 @@ | ||||
|     "click-to-copy-token-to-clipboard": "Click to copy the token to your clipboard", | ||||
|     "close": "Close", | ||||
|     "code": "Code", | ||||
|     "config-codes": "Config codes", | ||||
|     "configure-the-tracks-and-minimum-lap-times": "configure the tracks & minimum lap times", | ||||
|     "confirm": "Confirm", | ||||
|     "confirm-delete": "Confirm Delete", | ||||
| @@ -428,6 +430,7 @@ | ||||
|     "this-card-is": "This card is", | ||||
|     "this-might-take-a-moment": "This might take a moment 👀", | ||||
|     "this-scanstation-is": "This scanstation is", | ||||
|     "timestamp": "timestamp", | ||||
|     "token": "Token", | ||||
|     "total-distance": "total distance", | ||||
|     "total-donation-amount": "total donation amount", | ||||
|   | ||||
		Reference in New Issue
	
	Block a user