Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
94a64ca690 | |||
165c154233 | |||
318547db46 | |||
e60c09e19c | |||
4834d1484c | |||
4b6342727e | |||
cb5fa52cd9 | |||
947d01cf7f | |||
3563394fb3 |
14
CHANGELOG.md
14
CHANGELOG.md
@ -2,8 +2,22 @@
|
|||||||
|
|
||||||
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.
|
||||||
|
|
||||||
|
#### [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)
|
#### [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)
|
- 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)
|
#### [0.18.3](https://git.odit.services/lfk/frontend/compare/0.18.2...0.18.3)
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<span style="display: none;visibility: hidden;" id="buildinfo">RELEASE_INFO-0.18.4-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>
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
||||||
<script src="/env.js"></script>
|
<script src="/env.js"></script>
|
||||||
<script type="module" src="/src/main.js"></script>
|
<script type="module" src="/src/main.js"></script>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@odit/lfk-frontend",
|
"name": "@odit/lfk-frontend",
|
||||||
"version": "0.18.4",
|
"version": "0.19.0",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"i18n-order": "node order.js",
|
"i18n-order": "node order.js",
|
||||||
@ -42,6 +42,7 @@
|
|||||||
"@odit/lfk-client-js": "0.14.3",
|
"@odit/lfk-client-js": "0.14.3",
|
||||||
"@paralleldrive/cuid2": "^2.2.0",
|
"@paralleldrive/cuid2": "^2.2.0",
|
||||||
"@tanstack/svelte-table": "^8.8.5",
|
"@tanstack/svelte-table": "^8.8.5",
|
||||||
|
"bwip-js": "^3.4.0",
|
||||||
"check-password-strength": "2.0.7",
|
"check-password-strength": "2.0.7",
|
||||||
"csvtojson": "2.0.10",
|
"csvtojson": "2.0.10",
|
||||||
"gridjs": "3.4.0",
|
"gridjs": "3.4.0",
|
||||||
|
8
pnpm-lock.yaml
generated
8
pnpm-lock.yaml
generated
@ -10,6 +10,9 @@ dependencies:
|
|||||||
'@tanstack/svelte-table':
|
'@tanstack/svelte-table':
|
||||||
specifier: ^8.8.5
|
specifier: ^8.8.5
|
||||||
version: 8.8.5(svelte@3.58.0)
|
version: 8.8.5(svelte@3.58.0)
|
||||||
|
bwip-js:
|
||||||
|
specifier: ^3.4.0
|
||||||
|
version: 3.4.0
|
||||||
check-password-strength:
|
check-password-strength:
|
||||||
specifier: 2.0.7
|
specifier: 2.0.7
|
||||||
version: 2.0.7
|
version: 2.0.7
|
||||||
@ -847,6 +850,11 @@ packages:
|
|||||||
run-applescript: 5.0.0
|
run-applescript: 5.0.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/bwip-js@3.4.0:
|
||||||
|
resolution: {integrity: sha512-Gx9LIBhmEFmNH4FJsS+Rs+bG5hUcs+OBemEEQ2ZTLz8tue0PA/lM692Gf2yuYJ2yUpLGtK9tAexs85tXBPG/ww==}
|
||||||
|
hasBin: true
|
||||||
|
dev: false
|
||||||
|
|
||||||
/bytes@3.1.2:
|
/bytes@3.1.2:
|
||||||
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
|
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
|
||||||
engines: {node: '>= 0.8'}
|
engines: {node: '>= 0.8'}
|
||||||
|
@ -1,14 +1,18 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
|
|
||||||
import Toastify from "toastify-js";
|
import Toastify from "toastify-js";
|
||||||
import { tick, createEventDispatcher } from "svelte";
|
import { tick, createEventDispatcher } from "svelte";
|
||||||
|
import bwipjs from "bwip-js";
|
||||||
|
|
||||||
export let copy_modal_open;
|
export let copy_modal_open;
|
||||||
export let new_station;
|
export let new_station;
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
let valueCopy = null;
|
let valueCopy = null;
|
||||||
let areaDom;
|
let areaDom;
|
||||||
let copied = false;
|
let copied = false;
|
||||||
|
$: is_qrcode = false;
|
||||||
|
$: barcode = textToBase64Barcode(new_station.key, is_qrcode);
|
||||||
|
|
||||||
function close() {
|
function close() {
|
||||||
copy_modal_open = false;
|
copy_modal_open = false;
|
||||||
}
|
}
|
||||||
@ -36,10 +40,30 @@
|
|||||||
"linear-gradient(90deg, hsla(281, 37%, 45%, 1) 0%, hsla(1, 62%, 48%, 1) 100%)",
|
"linear-gradient(90deg, hsla(281, 37%, 45%, 1) 0%, hsla(1, 62%, 48%, 1) 100%)",
|
||||||
}).showToast();
|
}).showToast();
|
||||||
}
|
}
|
||||||
|
|
||||||
// we can notifi by event or storage about copy status
|
// we can notifi by event or storage about copy status
|
||||||
valueCopy = null;
|
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>
|
</script>
|
||||||
|
|
||||||
{#if copy_modal_open}
|
{#if copy_modal_open}
|
||||||
@ -131,6 +155,44 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</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>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse">
|
<div class="bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse">
|
||||||
<button
|
<button
|
||||||
|
@ -39,6 +39,7 @@
|
|||||||
"amount": "Anzahl",
|
"amount": "Anzahl",
|
||||||
"amount-per-kilometer": "Betrag pro Kilometer",
|
"amount-per-kilometer": "Betrag pro Kilometer",
|
||||||
"apartment-suite-etc": "Apartment, Wohnung, etc.",
|
"apartment-suite-etc": "Apartment, Wohnung, etc.",
|
||||||
|
"api-endpoint": "API-Endpunkt",
|
||||||
"application_name": "Lauf für Kaya! - Admin",
|
"application_name": "Lauf für Kaya! - Admin",
|
||||||
"applying-changes": "Änderungen anwenden",
|
"applying-changes": "Änderungen anwenden",
|
||||||
"attention": "Achtung!",
|
"attention": "Achtung!",
|
||||||
@ -68,6 +69,7 @@
|
|||||||
"click-to-copy-token-to-clipboard": "Klicke auf den Token, um ihn in deine Zwischenablage zu kopieren",
|
"click-to-copy-token-to-clipboard": "Klicke auf den Token, um ihn in deine Zwischenablage zu kopieren",
|
||||||
"close": "Schließen",
|
"close": "Schließen",
|
||||||
"code": "Code",
|
"code": "Code",
|
||||||
|
"config-codes": "Konfigurations-Codes",
|
||||||
"configure-the-tracks-and-minimum-lap-times": "Bearbeite die Tracks und ihre minimale Rundenzeit",
|
"configure-the-tracks-and-minimum-lap-times": "Bearbeite die Tracks und ihre minimale Rundenzeit",
|
||||||
"confirm": "Bestätigen",
|
"confirm": "Bestätigen",
|
||||||
"confirm-delete": "Löschung Bestätigen",
|
"confirm-delete": "Löschung Bestätigen",
|
||||||
|
@ -39,6 +39,7 @@
|
|||||||
"amount": "Amount",
|
"amount": "Amount",
|
||||||
"amount-per-kilometer": "Amount per kilometer",
|
"amount-per-kilometer": "Amount per kilometer",
|
||||||
"apartment-suite-etc": "Apartment, suite, etc.",
|
"apartment-suite-etc": "Apartment, suite, etc.",
|
||||||
|
"api-endpoint": "API-Endpoint",
|
||||||
"application_name": "Lauf für Kaya! - Admin",
|
"application_name": "Lauf für Kaya! - Admin",
|
||||||
"applying-changes": "Applying Changes",
|
"applying-changes": "Applying Changes",
|
||||||
"attention": "Attention!",
|
"attention": "Attention!",
|
||||||
@ -68,6 +69,7 @@
|
|||||||
"click-to-copy-token-to-clipboard": "Click to copy the token to your clipboard",
|
"click-to-copy-token-to-clipboard": "Click to copy the token to your clipboard",
|
||||||
"close": "Close",
|
"close": "Close",
|
||||||
"code": "Code",
|
"code": "Code",
|
||||||
|
"config-codes": "Config codes",
|
||||||
"configure-the-tracks-and-minimum-lap-times": "configure the tracks & minimum lap times",
|
"configure-the-tracks-and-minimum-lap-times": "configure the tracks & minimum lap times",
|
||||||
"confirm": "Confirm",
|
"confirm": "Confirm",
|
||||||
"confirm-delete": "Confirm Delete",
|
"confirm-delete": "Confirm Delete",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user