Compare commits
2 Commits
09aee15f60
...
710cad376e
Author | SHA1 | Date | |
---|---|---|---|
710cad376e | |||
5a81cb64f5 |
@ -34,7 +34,7 @@ const userStore = () => {
|
|||||||
|
|
||||||
localStorage.setItem('userdata', JSON.stringify(state));
|
localStorage.setItem('userdata', JSON.stringify(state));
|
||||||
localStorage.setItem('access_token', state.access_token);
|
localStorage.setItem('access_token', state.access_token);
|
||||||
localStorage.setItem('refresh_token', state.refresh_token);
|
OpenAPI.TOKEN = resAuth.access_token;
|
||||||
return state;
|
return state;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
@ -46,9 +46,9 @@ const userStore = () => {
|
|||||||
this.logout();
|
this.logout();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
loginFromStorage() {
|
async loginFromStorage() {
|
||||||
console.log('loginFromStorage');
|
console.log('loginFromStorage');
|
||||||
const access_token = localStorage.getItem('token');
|
const access_token = localStorage.getItem('access_token');
|
||||||
if (!access_token) {
|
if (!access_token) {
|
||||||
throw new Error('Unauthorized');
|
throw new Error('Unauthorized');
|
||||||
}
|
}
|
||||||
@ -63,10 +63,12 @@ const userStore = () => {
|
|||||||
state.refreshInterval = setInterval(() => {
|
state.refreshInterval = setInterval(() => {
|
||||||
this.refreshAuth();
|
this.refreshAuth();
|
||||||
}, 2 * 60000);
|
}, 2 * 60000);
|
||||||
|
OpenAPI.TOKEN = userdata.access_token;
|
||||||
|
|
||||||
return state;
|
return state;
|
||||||
});
|
});
|
||||||
|
|
||||||
this.refreshAuth
|
await this.refreshAuth();
|
||||||
},
|
},
|
||||||
async logout() {
|
async logout() {
|
||||||
update((state: UserState) => {
|
update((state: UserState) => {
|
||||||
|
@ -4,14 +4,14 @@
|
|||||||
|
|
||||||
$: loginRendered = false;
|
$: loginRendered = false;
|
||||||
|
|
||||||
onMount(() => {
|
onMount(async () => {
|
||||||
try {
|
try {
|
||||||
userstore.loginFromStorage();
|
await userstore.loginFromStorage();
|
||||||
loginRendered = true;
|
loginRendered = true;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
userstore.logout();
|
userstore.logout();
|
||||||
location.replace(`${location.pathname}/login`);
|
location.replace(`/login`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { RunnerService, type ResponseRunner } from '@odit/lfk-client-js';
|
import { RunnerService, type ResponseRunner } from '@odit/lfk-client-js';
|
||||||
|
import bwipjs from 'bwip-js';
|
||||||
|
|
||||||
$: firstname = '';
|
$: firstname = '';
|
||||||
$: lastname = '';
|
$: lastname = '';
|
||||||
$: showResult = true;
|
$: showResult = false;
|
||||||
$: showError = false;
|
$: showError = false;
|
||||||
|
|
||||||
let response: ResponseRunner;
|
let response: ResponseRunner;
|
||||||
@ -17,11 +18,34 @@
|
|||||||
group
|
group
|
||||||
})) as ResponseRunner;
|
})) as ResponseRunner;
|
||||||
showError = false;
|
showError = false;
|
||||||
|
showResult = true;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
showError = true;
|
showError = true;
|
||||||
|
showResult = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function textToBase64Barcode(text: string, is_qrcode: boolean) {
|
||||||
|
const canvas = document.createElement('canvas');
|
||||||
|
let bcid = 'ean13';
|
||||||
|
if (is_qrcode) {
|
||||||
|
bcid = 'qrcode';
|
||||||
|
}
|
||||||
|
let codeconfig = {
|
||||||
|
bcid,
|
||||||
|
text: `${text}`,
|
||||||
|
scale: 4,
|
||||||
|
includetext: true,
|
||||||
|
textxalign: 'center',
|
||||||
|
backgroundcolor: 'ffffff'
|
||||||
|
};
|
||||||
|
if (bcid == 'ean13') {
|
||||||
|
codeconfig.height = 10;
|
||||||
|
}
|
||||||
|
bwipjs.toCanvas(canvas, codeconfig);
|
||||||
|
return canvas.toDataURL('image/png');
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="dark:bg-slate-900 bg-gray-100 flex h-full items-center py-16">
|
<div class="dark:bg-slate-900 bg-gray-100 flex h-full items-center py-16">
|
||||||
@ -142,9 +166,25 @@
|
|||||||
</form>
|
</form>
|
||||||
<!-- End Form -->
|
<!-- End Form -->
|
||||||
{:else}
|
{:else}
|
||||||
<p class="block text-lg mb-2 dark:text-white">ID: {response.id}</p>
|
<div>
|
||||||
<p class="block text-lg mb-2 dark:text-white">Vorname: {response.firstname}</p>
|
<p class="text-lg mb-2 dark:text-white">ID: {response.id}</p>
|
||||||
<p class="block text-lg mb-2 dark:text-white">Nachname: {response.lastname}</p>
|
<p class="text-lg mb-2 dark:text-white">Vorname: {response.firstname}</p>
|
||||||
|
<p class="text-lg mb-2 dark:text-white">Nachname: {response.lastname}</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<img
|
||||||
|
class="w-full md:w-auto mb-2 mx-auto"
|
||||||
|
alt="Runnerid"
|
||||||
|
src={textToBase64Barcode(response.id.toString(), false)}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<button
|
||||||
|
on:click={() => {
|
||||||
|
showResult = false;
|
||||||
|
}}
|
||||||
|
class="py-3 px-4 inline-flex justify-center items-center gap-2 rounded-md border border-transparent font-semibold bg-blue-500 text-white hover:bg-blue-600 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-all text-sm dark:focus:ring-offset-gray-800"
|
||||||
|
>Fertig</button
|
||||||
|
>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user