Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
950217e0a3
|
|||
|
5e65fb3301
|
|||
|
2a294cde04
|
|||
|
e95420d79c
|
|||
|
cffbd17dc7
|
|||
|
00de8c3d75
|
|||
|
1f4711d07a
|
|||
|
30e3396897
|
|||
|
5291e049a1
|
|||
|
08fbb504c9
|
|||
|
e9ca1d3e5d
|
|||
|
9fe53b0b9c
|
25
CHANGELOG.md
25
CHANGELOG.md
@@ -2,10 +2,35 @@
|
|||||||
|
|
||||||
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.18.3](https://git.odit.services/lfk/frontend/compare/0.18.2...0.18.3)
|
||||||
|
|
||||||
|
- 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)
|
||||||
|
- fix(ConfirmScanStationDeletion): donorControllerRemove -> scanStationControllerRemove [`08fbb50`](https://git.odit.services/lfk/frontend/commit/08fbb504c958415ce75e1e426296f870f0f1358d)
|
||||||
|
|
||||||
#### [0.18.0](https://git.odit.services/lfk/frontend/compare/0.17.3...0.18.0)
|
#### [0.18.0](https://git.odit.services/lfk/frontend/compare/0.17.3...0.18.0)
|
||||||
|
|
||||||
|
> 12 April 2023
|
||||||
|
|
||||||
- Moved filter function to typed version [`#171`](https://git.odit.services/lfk/frontend/issues/171)
|
- Moved filter function to typed version [`#171`](https://git.odit.services/lfk/frontend/issues/171)
|
||||||
- ScansOverview: migrate to datatable [`#168`](https://git.odit.services/lfk/frontend/issues/168)
|
- ScansOverview: migrate to datatable [`#168`](https://git.odit.services/lfk/frontend/issues/168)
|
||||||
|
- 🚀RELEASE v0.18.0 [`eb80406`](https://git.odit.services/lfk/frontend/commit/eb80406fdb8abf3f76bca742095e8f1f03480a56)
|
||||||
- wip: ScansOverview -> new datatable [`c87561f`](https://git.odit.services/lfk/frontend/commit/c87561f63b90ab951daf91d9b8b54ba96a94cc7f)
|
- wip: ScansOverview -> new datatable [`c87561f`](https://git.odit.services/lfk/frontend/commit/c87561f63b90ab951daf91d9b8b54ba96a94cc7f)
|
||||||
- Basic card table replace [`5662c3b`](https://git.odit.services/lfk/frontend/commit/5662c3b6da67c00c94254bf39f8820e531fc93ef)
|
- Basic card table replace [`5662c3b`](https://git.odit.services/lfk/frontend/commit/5662c3b6da67c00c94254bf39f8820e531fc93ef)
|
||||||
- RunnersOverview: table responsiveness [`bf1e715`](https://git.odit.services/lfk/frontend/commit/bf1e715261c0076fd8543dd1187c516209a73b16)
|
- RunnersOverview: table responsiveness [`bf1e715`](https://git.odit.services/lfk/frontend/commit/bf1e715261c0076fd8543dd1187c516209a73b16)
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<span style="display: none;visibility: hidden;" id="buildinfo">RELEASE_INFO-0.18.0-RELEASE_INFO</span>
|
<span style="display: none;visibility: hidden;" id="buildinfo">RELEASE_INFO-0.18.3-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.0",
|
"version": "0.18.3",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"i18n-order": "node order.js",
|
"i18n-order": "node order.js",
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
"commit": true,
|
"commit": true,
|
||||||
"requireCleanWorkingDir": false,
|
"requireCleanWorkingDir": false,
|
||||||
"commitMessage": "🚀RELEASE v${version}",
|
"commitMessage": "🚀RELEASE v${version}",
|
||||||
"push": false,
|
"push": true,
|
||||||
"tag": true,
|
"tag": true,
|
||||||
"tagName": null,
|
"tagName": null,
|
||||||
"tagAnnotation": "v${version}"
|
"tagAnnotation": "v${version}"
|
||||||
|
|||||||
@@ -119,7 +119,7 @@
|
|||||||
{/if}
|
{/if}
|
||||||
{#if donor.address.address1 !== null}
|
{#if donor.address.address1 !== null}
|
||||||
{donor.address.address1}<br />
|
{donor.address.address1}<br />
|
||||||
{donor.address.address2 || ''}<br />
|
<!-- {donor.address.address2 || ''}<br /> -->
|
||||||
{donor.address.postalcode}
|
{donor.address.postalcode}
|
||||||
{donor.address.city}
|
{donor.address.city}
|
||||||
{donor.address.country}
|
{donor.address.country}
|
||||||
|
|||||||
@@ -119,9 +119,9 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
async function copy() {
|
async function copy() {
|
||||||
if(!editable.registrationKey){
|
if (!editable.registrationKey) {
|
||||||
Toastify({
|
Toastify({
|
||||||
text: $_('you-have-to-save-your-changes-to-generate-a-link'),
|
text: $_("you-have-to-save-your-changes-to-generate-a-link"),
|
||||||
duration: 500,
|
duration: 500,
|
||||||
backgroundColor:
|
backgroundColor:
|
||||||
"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%)",
|
||||||
@@ -167,7 +167,8 @@
|
|||||||
passed_orgs={[]}
|
passed_orgs={[]}
|
||||||
passed_org={editable}
|
passed_org={editable}
|
||||||
opened_from="OrgDetail"
|
opened_from="OrgDetail"
|
||||||
bind:import_modal_open />
|
bind:import_modal_open
|
||||||
|
/>
|
||||||
<ConfirmOrgDeletion bind:modal_open bind:delete_org />
|
<ConfirmOrgDeletion bind:modal_open bind:delete_org />
|
||||||
{#if data_loaded}
|
{#if data_loaded}
|
||||||
<section class="container p-5">
|
<section class="container p-5">
|
||||||
@@ -176,29 +177,35 @@
|
|||||||
<span data-id="org_actions_${editable.id}">
|
<span data-id="org_actions_${editable.id}">
|
||||||
<GenerateSponsoringContracts
|
<GenerateSponsoringContracts
|
||||||
bind:sponsoring_contracts_show
|
bind:sponsoring_contracts_show
|
||||||
bind:generate_orgs />
|
bind:generate_orgs
|
||||||
|
/>
|
||||||
<GenerateRunnerCards bind:cards_show bind:generate_orgs />
|
<GenerateRunnerCards bind:cards_show bind:generate_orgs />
|
||||||
<GenerateRunnerCertificates bind:certificates_show bind:generate_orgs />
|
<GenerateRunnerCertificates bind:certificates_show bind:generate_orgs />
|
||||||
{#if store.state.jwtinfo.userdetails.permissions.includes('RUNNER:IMPORT')}
|
{#if store.state.jwtinfo.userdetails.permissions.includes("RUNNER:IMPORT")}
|
||||||
<button
|
<button
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
import_modal_open = true;
|
import_modal_open = true;
|
||||||
}}
|
}}
|
||||||
type="button"
|
type="button"
|
||||||
class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-blue-600 text-base font-medium text-white hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 sm:ml-3 sm:w-auto sm:text-sm">
|
class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-blue-600 text-base font-medium text-white hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 sm:ml-3 sm:w-auto sm:text-sm"
|
||||||
{$_('import-runners')}
|
>
|
||||||
|
{$_("import-runners")}
|
||||||
</button>
|
</button>
|
||||||
{/if}
|
{/if}
|
||||||
{#if store.state.jwtinfo.userdetails.permissions.includes('RUNNER:DELETE')}
|
{#if store.state.jwtinfo.userdetails.permissions.includes("RUNNER:DELETE")}
|
||||||
{#if delete_triggered}
|
{#if delete_triggered}
|
||||||
<button
|
<button
|
||||||
on:click={deleteOrganization}
|
on:click={deleteOrganization}
|
||||||
class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm">{$_('confirm-delete')}</button>
|
class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm"
|
||||||
|
>{$_("confirm-delete")}</button
|
||||||
|
>
|
||||||
<button
|
<button
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
delete_triggered = !delete_triggered;
|
delete_triggered = !delete_triggered;
|
||||||
}}
|
}}
|
||||||
class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-blue-400 text-base font-medium text-white sm:w-auto sm:text-sm">{$_('cancel')}</button>
|
class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-blue-400 text-base font-medium text-white sm:w-auto sm:text-sm"
|
||||||
|
>{$_("cancel")}</button
|
||||||
|
>
|
||||||
{/if}
|
{/if}
|
||||||
{#if !delete_triggered}
|
{#if !delete_triggered}
|
||||||
<button
|
<button
|
||||||
@@ -206,7 +213,9 @@
|
|||||||
delete_triggered = true;
|
delete_triggered = true;
|
||||||
}}
|
}}
|
||||||
type="button"
|
type="button"
|
||||||
class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm">{$_('delete-organization')}</button>
|
class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm"
|
||||||
|
>{$_("delete-organization")}</button
|
||||||
|
>
|
||||||
{/if}
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
{#if !delete_triggered}
|
{#if !delete_triggered}
|
||||||
@@ -215,7 +224,9 @@
|
|||||||
disabled={!save_enabled}
|
disabled={!save_enabled}
|
||||||
class:opacity-50={!save_enabled}
|
class:opacity-50={!save_enabled}
|
||||||
type="button"
|
type="button"
|
||||||
class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-blue-600 text-base font-medium text-white hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 sm:ml-3 sm:w-auto sm:text-sm">{$_('save-changes')}</button>
|
class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-blue-600 text-base font-medium text-white hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 sm:ml-3 sm:w-auto sm:text-sm"
|
||||||
|
>{$_("save-changes")}</button
|
||||||
|
>
|
||||||
{/if}
|
{/if}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@@ -234,12 +245,13 @@
|
|||||||
class="h-3 w-3 stroke-current"
|
class="h-3 w-3 stroke-current"
|
||||||
height="1em"
|
height="1em"
|
||||||
width="1em"
|
width="1em"
|
||||||
xmlns="http://www.w3.org/2000/svg"><path
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" />
|
><path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" />
|
||||||
<polyline points="9 22 9 12 15 12 15 22" /></svg>
|
<polyline points="9 22 9 12 15 12 15 22" /></svg
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li class="flex items-center">
|
<li class="flex items-center">
|
||||||
<a class="mr-2" href="/">{$_('home')}</a><svg
|
<a class="mr-2" href="/">{$_("home")}</a><svg
|
||||||
stroke="currentColor"
|
stroke="currentColor"
|
||||||
fill="none"
|
fill="none"
|
||||||
stroke-width="2"
|
stroke-width="2"
|
||||||
@@ -249,24 +261,25 @@
|
|||||||
class="h-3 w-3 mr-2 stroke-current"
|
class="h-3 w-3 mr-2 stroke-current"
|
||||||
height="1em"
|
height="1em"
|
||||||
width="1em"
|
width="1em"
|
||||||
xmlns="http://www.w3.org/2000/svg"><line
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
x1="5"
|
><line x1="5" y1="12" x2="19" y2="12" />
|
||||||
y1="12"
|
<polyline points="12 5 19 12 12 19" /></svg
|
||||||
x2="19"
|
>
|
||||||
y2="12" />
|
|
||||||
<polyline points="12 5 19 12 12 19" /></svg>
|
|
||||||
</li>
|
</li>
|
||||||
<li class="mr-2 flex items-center">
|
<li class="mr-2 flex items-center">
|
||||||
<svg
|
<svg
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
viewBox="0 0 24 24"
|
viewBox="0 0 24 24"
|
||||||
width="24"
|
width="24"
|
||||||
height="24"><path fill="none" d="M0 0h24v24H0z" />
|
height="24"
|
||||||
|
><path fill="none" d="M0 0h24v24H0z" />
|
||||||
<path
|
<path
|
||||||
d="M21 20h2v2H1v-2h2V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v17zm-2 0V4H5v16h14zM8 11h3v2H8v-2zm0-4h3v2H8V7zm0 8h3v2H8v-2zm5 0h3v2h-3v-2zm0-4h3v2h-3v-2zm0-4h3v2h-3V7z" /></svg>
|
d="M21 20h2v2H1v-2h2V3a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v17zm-2 0V4H5v16h14zM8 11h3v2H8v-2zm0-4h3v2H8V7zm0 8h3v2H8v-2zm5 0h3v2h-3v-2zm0-4h3v2h-3v-2zm0-4h3v2h-3V7z"
|
||||||
|
/></svg
|
||||||
|
>
|
||||||
</li>
|
</li>
|
||||||
<li class="flex items-center">
|
<li class="flex items-center">
|
||||||
<a class="mr-2" href="./">{$_('organizations')}</a><svg
|
<a class="mr-2" href="./">{$_("organizations")}</a><svg
|
||||||
stroke="currentColor"
|
stroke="currentColor"
|
||||||
fill="none"
|
fill="none"
|
||||||
stroke-width="2"
|
stroke-width="2"
|
||||||
@@ -276,12 +289,10 @@
|
|||||||
class="h-3 w-3 mr-2 stroke-current"
|
class="h-3 w-3 mr-2 stroke-current"
|
||||||
height="1em"
|
height="1em"
|
||||||
width="1em"
|
width="1em"
|
||||||
xmlns="http://www.w3.org/2000/svg"><line
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
x1="5"
|
><line x1="5" y1="12" x2="19" y2="12" />
|
||||||
y1="12"
|
<polyline points="12 5 19 12 12 19" /></svg
|
||||||
x2="19"
|
>
|
||||||
y2="12" />
|
|
||||||
<polyline points="12 5 19 12 12 19" /></svg>
|
|
||||||
</li>
|
</li>
|
||||||
<li class="flex items-center">
|
<li class="flex items-center">
|
||||||
<span class="mr-2">Org-Details #{params.orgid}</span>
|
<span class="mr-2">Org-Details #{params.orgid}</span>
|
||||||
@@ -291,35 +302,34 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-sm w-full">
|
<div class="text-sm w-full">
|
||||||
<label for="name" class="font-medium text-gray-700">{$_('name')}</label>
|
<label for="name" class="font-medium text-gray-700">{$_("name")}</label>
|
||||||
<input
|
<input
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
placeholder={$_('name')}
|
placeholder={$_("name")}
|
||||||
type="text"
|
type="text"
|
||||||
bind:value={editable.name}
|
bind:value={editable.name}
|
||||||
name="name"
|
name="name"
|
||||||
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-2" />
|
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-2"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-sm w-full">
|
<div class="text-sm w-full">
|
||||||
<label
|
<label for="contact" class="font-medium text-gray-700"
|
||||||
for="contact"
|
>{$_("contact")}</label
|
||||||
class="font-medium text-gray-700">{$_('contact')}</label>
|
>
|
||||||
<Select
|
<Select
|
||||||
containerClasses="rounded-l-md mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-2"
|
containerClasses="rounded-l-md mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-2"
|
||||||
itemFilter={(label, filterText, option) => label
|
itemFilter={(label, filterText, option) =>
|
||||||
.toLowerCase()
|
label.toLowerCase().includes(filterText.toLowerCase()) ||
|
||||||
.includes(
|
option.value.id.toString().startsWith(filterText.toLowerCase())}
|
||||||
filterText.toLowerCase()
|
|
||||||
) || option.value.id
|
|
||||||
.toString()
|
|
||||||
.startsWith(filterText.toLowerCase())}
|
|
||||||
items={contacts}
|
items={contacts}
|
||||||
showChevron={true}
|
showChevron={true}
|
||||||
placeholder={$_('no-contact-selected')}
|
placeholder={$_("no-contact-selected")}
|
||||||
noOptionsMessage={$_('no-contact-found')}
|
noOptionsMessage={$_("no-contact-found")}
|
||||||
bind:selectedValue={contact}
|
bind:selectedValue={contact}
|
||||||
on:select={(selectedValue) => (editable.contact = selectedValue.detail.value)}
|
on:select={(selectedValue) =>
|
||||||
on:clear={() => (editable.contact = null)} />
|
(editable.contact = selectedValue.detail.value)}
|
||||||
|
on:clear={() => (editable.contact = null)}
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div class="flex items-start mt-2">
|
<div class="flex items-start mt-2">
|
||||||
@@ -329,43 +339,51 @@
|
|||||||
id="toggle_selfservice_feature"
|
id="toggle_selfservice_feature"
|
||||||
name="toggle_selfservice_feature"
|
name="toggle_selfservice_feature"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
class="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded" />
|
class="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="ml-3 text-sm">
|
<div class="ml-3 text-sm">
|
||||||
<label
|
<label
|
||||||
for="toggle_selfservice_feature"
|
for="toggle_selfservice_feature"
|
||||||
class="font-medium text-gray-700">{$_('selfservice-registration')}</label>
|
class="font-medium text-gray-700"
|
||||||
|
>{$_("selfservice-registration")}</label
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
{#if editable.registrationEnabled}
|
{#if editable.registrationEnabled}
|
||||||
<div class="text-sm w-full">
|
<div class="text-sm w-full">
|
||||||
<div on:click={copy} class="inline-flex w-full">
|
<button on:click={copy} class="inline-flex w-full">
|
||||||
<p
|
<p
|
||||||
name="token"
|
name="token"
|
||||||
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 p-2">
|
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 p-2"
|
||||||
|
>
|
||||||
{#if editable.registrationKey}
|
{#if editable.registrationKey}
|
||||||
{registrationLink}
|
{registrationLink}
|
||||||
{:else}
|
{:else}
|
||||||
{$_('you-have-to-save-your-changes-to-generate-a-link')}
|
{$_("you-have-to-save-your-changes-to-generate-a-link")}
|
||||||
{/if}
|
{/if}
|
||||||
</p>
|
</p>
|
||||||
<div
|
<div
|
||||||
class="bg-gray-200 border-gray-300 border-t border-b border-r text-black rounded-r-md sm:text-sm p-2 mt-1 cursor-pointer">
|
class="bg-gray-200 border-gray-300 border-t border-b border-r text-black rounded-r-md sm:text-sm p-2 mt-1 cursor-pointer"
|
||||||
|
>
|
||||||
<svg
|
<svg
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
viewBox="0 0 24 24"
|
viewBox="0 0 24 24"
|
||||||
width="24"
|
width="24"
|
||||||
height="24"><path fill="none" d="M0 0h24v24H0z" />
|
height="24"
|
||||||
|
><path fill="none" d="M0 0h24v24H0z" />
|
||||||
<path
|
<path
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
d="M7 4V2h10v2h3l1 1v16a1 1 0 01-1 1H4a1 1 0 01-1-1V5l1-1h3zm0 2H5v14h14V6h-2v2H7V6zm2-2v2h6V4H9z" /></svg>
|
d="M7 4V2h10v2h3l1 1v16a1 1 0 01-1 1H4a1 1 0 01-1-1V5l1-1h3zm0 2H5v14h14V6h-2v2H7V6zm2-2v2h6V4H9z"
|
||||||
|
/></svg
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</button>
|
||||||
{#if editable.registrationKey}
|
{#if editable.registrationKey}
|
||||||
<p class="text-gray-500 text-xs">
|
<p class="text-gray-500 text-xs">
|
||||||
{$_('click-to-copy-the-link-into-your-clipboard')}
|
{$_("click-to-copy-the-link-into-your-clipboard")}
|
||||||
</p>
|
</p>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
{/if}
|
||||||
@@ -378,12 +396,14 @@
|
|||||||
id="toggle_address_checkbox"
|
id="toggle_address_checkbox"
|
||||||
name="toggle_address_checkbox"
|
name="toggle_address_checkbox"
|
||||||
type="checkbox"
|
type="checkbox"
|
||||||
class="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded" />
|
class="focus:ring-indigo-500 h-4 w-4 text-indigo-600 border-gray-300 rounded"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="ml-3 text-sm">
|
<div class="ml-3 text-sm">
|
||||||
<label
|
<label
|
||||||
for="toggle_address_checkbox"
|
for="toggle_address_checkbox"
|
||||||
class="font-medium text-gray-700">{$_('address')}</label>
|
class="font-medium text-gray-700">{$_("address")}</label
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -391,7 +411,9 @@
|
|||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label
|
||||||
for="address1"
|
for="address1"
|
||||||
class="block text-sm font-medium text-gray-700">{$_('address')}</label>
|
class="block text-sm font-medium text-gray-700"
|
||||||
|
>{$_("address")}</label
|
||||||
|
>
|
||||||
<input
|
<input
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
placeholder="Address"
|
placeholder="Address"
|
||||||
@@ -401,65 +423,74 @@
|
|||||||
bind:value={editable.address.address1}
|
bind:value={editable.address.address1}
|
||||||
type="text"
|
type="text"
|
||||||
name="address1"
|
name="address1"
|
||||||
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-2" />
|
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-2"
|
||||||
|
/>
|
||||||
{#if !isAddress1Valid}
|
{#if !isAddress1Valid}
|
||||||
<span
|
<span
|
||||||
class="flex items-center font-medium tracking-wide text-red-500 text-xs mt-1 ml-1">
|
class="flex items-center font-medium tracking-wide text-red-500 text-xs mt-1 ml-1"
|
||||||
{$_('address-is-required')}
|
>
|
||||||
|
{$_("address-is-required")}
|
||||||
</span>
|
</span>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label
|
||||||
for="address2"
|
for="address2"
|
||||||
class="block text-sm font-medium text-gray-700">{$_('apartment-suite-etc')}</label>
|
class="block text-sm font-medium text-gray-700"
|
||||||
|
>{$_("apartment-suite-etc")}</label
|
||||||
|
>
|
||||||
<input
|
<input
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
placeholder={$_('apartment-suite-etc')}
|
placeholder={$_("apartment-suite-etc")}
|
||||||
bind:value={editable.address.address2}
|
bind:value={editable.address.address2}
|
||||||
type="text"
|
type="text"
|
||||||
name="address2"
|
name="address2"
|
||||||
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-2" />
|
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-2"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label for="zipcode" class="block text-sm font-medium text-gray-700"
|
||||||
for="zipcode"
|
>{$_("zip-postal-code")}</label
|
||||||
class="block text-sm font-medium text-gray-700">{$_('zip-postal-code')}</label>
|
>
|
||||||
<input
|
<input
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
placeholder={$_('zip-postal-code')}
|
placeholder={$_("zip-postal-code")}
|
||||||
class:border-red-500={!iszipcodevalid}
|
class:border-red-500={!iszipcodevalid}
|
||||||
class:focus:border-red-500={!iszipcodevalid}
|
class:focus:border-red-500={!iszipcodevalid}
|
||||||
class:focus:ring-red-500={!iszipcodevalid}
|
class:focus:ring-red-500={!iszipcodevalid}
|
||||||
bind:value={editable.address.postalcode}
|
bind:value={editable.address.postalcode}
|
||||||
type="text"
|
type="text"
|
||||||
name="zipcode"
|
name="zipcode"
|
||||||
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-2" />
|
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-2"
|
||||||
|
/>
|
||||||
{#if !iszipcodevalid}
|
{#if !iszipcodevalid}
|
||||||
<span
|
<span
|
||||||
class="flex items-center font-medium tracking-wide text-red-500 text-xs mt-1 ml-1">
|
class="flex items-center font-medium tracking-wide text-red-500 text-xs mt-1 ml-1"
|
||||||
{$_('valid-zipcode-postal-code-is-required')}
|
>
|
||||||
|
{$_("valid-zipcode-postal-code-is-required")}
|
||||||
</span>
|
</span>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label for="city" class="block text-sm font-medium text-gray-700"
|
||||||
for="city"
|
>{$_("city")}</label
|
||||||
class="block text-sm font-medium text-gray-700">{$_('city')}</label>
|
>
|
||||||
<input
|
<input
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
placeholder={$_('city')}
|
placeholder={$_("city")}
|
||||||
class:border-red-500={!iscityvalid}
|
class:border-red-500={!iscityvalid}
|
||||||
class:focus:border-red-500={!iscityvalid}
|
class:focus:border-red-500={!iscityvalid}
|
||||||
class:focus:ring-red-500={!iscityvalid}
|
class:focus:ring-red-500={!iscityvalid}
|
||||||
bind:value={editable.address.city}
|
bind:value={editable.address.city}
|
||||||
type="text"
|
type="text"
|
||||||
name="city"
|
name="city"
|
||||||
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-2" />
|
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 rounded-md p-2"
|
||||||
|
/>
|
||||||
{#if !iscityvalid}
|
{#if !iscityvalid}
|
||||||
<span
|
<span
|
||||||
class="flex items-center font-medium tracking-wide text-red-500 text-xs mt-1 ml-1">
|
class="flex items-center font-medium tracking-wide text-red-500 text-xs mt-1 ml-1"
|
||||||
{$_('valid-city-is-required')}
|
>
|
||||||
|
{$_("valid-city-is-required")}
|
||||||
</span>
|
</span>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
@@ -469,7 +500,7 @@
|
|||||||
</section>
|
</section>
|
||||||
{:else}
|
{:else}
|
||||||
{#await promise}
|
{#await promise}
|
||||||
{$_('organization-detail-is-being-loaded')}
|
{$_("organization-detail-is-being-loaded")}
|
||||||
{:catch error}
|
{:catch error}
|
||||||
<PromiseError />
|
<PromiseError />
|
||||||
{/await}
|
{/await}
|
||||||
|
|||||||
@@ -95,6 +95,14 @@
|
|||||||
},
|
},
|
||||||
enableColumnFilter: false,
|
enableColumnFilter: false,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
accessorKey: "timestamp",
|
||||||
|
header: () => $_("timestamp"),
|
||||||
|
cell: (info) => {
|
||||||
|
return (new Date(parseInt(info.getValue())*1000)).toLocaleString()
|
||||||
|
},
|
||||||
|
enableColumnFilter: false,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
accessorKey: "distance",
|
accessorKey: "distance",
|
||||||
header: () => $_("distance"),
|
header: () => $_("distance"),
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
dispatch("cancelDelete", { id: delete_station.id });
|
dispatch("cancelDelete", { id: delete_station.id });
|
||||||
}
|
}
|
||||||
function deleteStation() {
|
function deleteStation() {
|
||||||
ScanStationService.donorControllerRemove(
|
ScanStationService.scanStationControllerRemove(
|
||||||
delete_station.id,
|
delete_station.id,
|
||||||
true
|
true
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -46,70 +46,87 @@
|
|||||||
{#if valueCopy != null}
|
{#if valueCopy != null}
|
||||||
<textarea bind:this={areaDom}>{valueCopy}</textarea>
|
<textarea bind:this={areaDom}>{valueCopy}</textarea>
|
||||||
{/if}
|
{/if}
|
||||||
<div class="fixed z-10 inset-0 overflow-y-auto" >
|
<div class="fixed z-10 inset-0 overflow-y-auto">
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0">
|
class="flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0"
|
||||||
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
class="absolute inset-0 bg-gray-500 opacity-75"
|
class="absolute inset-0 bg-gray-500 opacity-75"
|
||||||
data-id="modal_backdrop" />
|
data-id="modal_backdrop"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<span
|
<span
|
||||||
class="hidden sm:inline-block sm:align-middle sm:h-screen"
|
class="hidden sm:inline-block sm:align-middle sm:h-screen"
|
||||||
aria-hidden="true">​</span>
|
aria-hidden="true">​</span
|
||||||
|
>
|
||||||
<div
|
<div
|
||||||
class="inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full"
|
class="inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full"
|
||||||
role="dialog"
|
role="dialog"
|
||||||
aria-modal="true"
|
aria-modal="true"
|
||||||
aria-labelledby="modal-headline">
|
aria-labelledby="modal-headline"
|
||||||
|
>
|
||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4">
|
||||||
<div class="sm:flex sm:items-start">
|
<div class="sm:flex sm:items-start">
|
||||||
<div
|
<div
|
||||||
class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-blue-100 sm:mx-0 sm:h-10 sm:w-10">
|
class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-blue-100 sm:mx-0 sm:h-10 sm:w-10"
|
||||||
|
>
|
||||||
<svg
|
<svg
|
||||||
class="h-6 w-6 text-blue-600"
|
class="h-6 w-6 text-blue-600"
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z" />
|
viewBox="0 0 24 24"
|
||||||
|
><path fill="none" d="M0 0h24v24H0z" />
|
||||||
<path
|
<path
|
||||||
d="M4 5v11h16V5H4zM2 4a1 1 0 011-1h18a1 1 0 011 1v14H2V4zM1 19h22v2H1v-2z" /></svg>
|
d="M4 5v11h16V5H4zM2 4a1 1 0 011-1h18a1 1 0 011 1v14H2V4zM1 19h22v2H1v-2z"
|
||||||
|
/></svg
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left">
|
<div class="mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_('token')}
|
{$_("token")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mt-2 mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_('the-scanstations-api-token-will-only-get-displayed-once-you-wont-be-able-to-change-or-view-it-again')}
|
{$_(
|
||||||
|
"the-scanstations-api-token-will-only-get-displayed-once-you-wont-be-able-to-change-or-view-it-again"
|
||||||
|
)}
|
||||||
<br />
|
<br />
|
||||||
{$_('please-copy-the-token-and-store-it-somewhere-save')}
|
{$_("please-copy-the-token-and-store-it-somewhere-save")}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mt-2 mb-6">
|
||||||
<label
|
<label
|
||||||
for="token"
|
for="token"
|
||||||
class="block text-sm font-medium text-gray-700">{$_('token')}</label>
|
class="block text-sm font-medium text-gray-700"
|
||||||
<div on:click={copy} class="inline-flex">
|
>{$_("token")}</label
|
||||||
|
>
|
||||||
|
<button on:click={copy} class="inline-flex">
|
||||||
<p
|
<p
|
||||||
name="token"
|
name="token"
|
||||||
class:bg-green-200={copied}
|
class:bg-green-200={copied}
|
||||||
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 p-2">
|
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 p-2"
|
||||||
|
>
|
||||||
{new_station.key}
|
{new_station.key}
|
||||||
</p>
|
</p>
|
||||||
<div
|
<div
|
||||||
class="bg-gray-200 border-gray-300 border-t border-b border-r text-black rounded-r-md sm:text-sm p-2 mt-1 cursor-pointer">
|
class="bg-gray-200 border-gray-300 border-t border-b border-r text-black rounded-r-md sm:text-sm p-2 mt-1 cursor-pointer"
|
||||||
|
>
|
||||||
<svg
|
<svg
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
viewBox="0 0 24 24"
|
viewBox="0 0 24 24"
|
||||||
width="24"
|
width="24"
|
||||||
height="24"><path fill="none" d="M0 0h24v24H0z" />
|
height="24"
|
||||||
|
><path fill="none" d="M0 0h24v24H0z" />
|
||||||
<path
|
<path
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
d="M7 4V2h10v2h3l1 1v16a1 1 0 01-1 1H4a1 1 0 01-1-1V5l1-1h3zm0 2H5v14h14V6h-2v2H7V6zm2-2v2h6V4H9z" /></svg>
|
d="M7 4V2h10v2h3l1 1v16a1 1 0 01-1 1H4a1 1 0 01-1-1V5l1-1h3zm0 2H5v14h14V6h-2v2H7V6zm2-2v2h6V4H9z"
|
||||||
|
/></svg
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</button>
|
||||||
<p class="text-gray-500 text-xs">
|
<p class="text-gray-500 text-xs">
|
||||||
{$_('click-to-copy-token-to-clipboard')}
|
{$_("click-to-copy-token-to-clipboard")}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -119,8 +136,9 @@
|
|||||||
<button
|
<button
|
||||||
on:click={close}
|
on:click={close}
|
||||||
type="button"
|
type="button"
|
||||||
class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-blue-600 text-base font-medium text-white hover:bg-green-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm">
|
class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-blue-600 text-base font-medium text-white hover:bg-green-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm"
|
||||||
{$_('yes-i-copied-the-token')}
|
>
|
||||||
|
{$_("yes-i-copied-the-token")}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { clickOutside } from "../base/outsideclick";
|
import { clickOutside } from "../base/outsideclick";
|
||||||
|
import { StatsClientService } from "@odit/lfk-client-js";
|
||||||
import { ScanStationService } from "@odit/lfk-client-js";
|
|
||||||
import Toastify from "toastify-js";
|
import Toastify from "toastify-js";
|
||||||
import { createEventDispatcher } from "svelte";
|
import { createEventDispatcher } from "svelte";
|
||||||
export let modal_open;
|
export let modal_open;
|
||||||
@@ -13,10 +12,7 @@
|
|||||||
dispatch("cancelDelete", { id: delete_station.id });
|
dispatch("cancelDelete", { id: delete_station.id });
|
||||||
}
|
}
|
||||||
function deleteClient() {
|
function deleteClient() {
|
||||||
ScanStationService.donorControllerRemove(
|
StatsClientService.statsClientControllerRemove(delete_station.id, true)
|
||||||
delete_station.id,
|
|
||||||
true
|
|
||||||
)
|
|
||||||
.then((resp) => {
|
.then((resp) => {
|
||||||
Toastify({
|
Toastify({
|
||||||
text: $_('statsclient-deleted'),
|
text: $_('statsclient-deleted'),
|
||||||
|
|||||||
@@ -46,70 +46,87 @@
|
|||||||
{#if valueCopy != null}
|
{#if valueCopy != null}
|
||||||
<textarea bind:this={areaDom}>{valueCopy}</textarea>
|
<textarea bind:this={areaDom}>{valueCopy}</textarea>
|
||||||
{/if}
|
{/if}
|
||||||
<div class="fixed z-10 inset-0 overflow-y-auto" >
|
<div class="fixed z-10 inset-0 overflow-y-auto">
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0">
|
class="flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0"
|
||||||
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
class="absolute inset-0 bg-gray-500 opacity-75"
|
class="absolute inset-0 bg-gray-500 opacity-75"
|
||||||
data-id="modal_backdrop" />
|
data-id="modal_backdrop"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<span
|
<span
|
||||||
class="hidden sm:inline-block sm:align-middle sm:h-screen"
|
class="hidden sm:inline-block sm:align-middle sm:h-screen"
|
||||||
aria-hidden="true">​</span>
|
aria-hidden="true">​</span
|
||||||
|
>
|
||||||
<div
|
<div
|
||||||
class="inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full"
|
class="inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full"
|
||||||
role="dialog"
|
role="dialog"
|
||||||
aria-modal="true"
|
aria-modal="true"
|
||||||
aria-labelledby="modal-headline">
|
aria-labelledby="modal-headline"
|
||||||
|
>
|
||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4">
|
||||||
<div class="sm:flex sm:items-start">
|
<div class="sm:flex sm:items-start">
|
||||||
<div
|
<div
|
||||||
class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-blue-100 sm:mx-0 sm:h-10 sm:w-10">
|
class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w-12 rounded-full bg-blue-100 sm:mx-0 sm:h-10 sm:w-10"
|
||||||
|
>
|
||||||
<svg
|
<svg
|
||||||
class="h-6 w-6 text-blue-600"
|
class="h-6 w-6 text-blue-600"
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0z" />
|
viewBox="0 0 24 24"
|
||||||
|
><path fill="none" d="M0 0h24v24H0z" />
|
||||||
<path
|
<path
|
||||||
d="M4 5v11h16V5H4zM2 4a1 1 0 011-1h18a1 1 0 011 1v14H2V4zM1 19h22v2H1v-2z" /></svg>
|
d="M4 5v11h16V5H4zM2 4a1 1 0 011-1h18a1 1 0 011 1v14H2V4zM1 19h22v2H1v-2z"
|
||||||
|
/></svg
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left">
|
<div class="mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_('token')}
|
{$_("token")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mt-2 mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_('the-statsclient-api-token-will-only-get-displayed-once-you-wont-be-able-to-change-or-view-it-again')}
|
{$_(
|
||||||
|
"the-statsclient-api-token-will-only-get-displayed-once-you-wont-be-able-to-change-or-view-it-again"
|
||||||
|
)}
|
||||||
<br />
|
<br />
|
||||||
{$_('please-copy-the-token-and-store-it-somewhere-save')}
|
{$_("please-copy-the-token-and-store-it-somewhere-save")}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mt-2 mb-6">
|
||||||
<label
|
<label
|
||||||
for="token"
|
for="token"
|
||||||
class="block text-sm font-medium text-gray-700">{$_('token')}</label>
|
class="block text-sm font-medium text-gray-700"
|
||||||
<div on:click={copy} class="inline-flex">
|
>{$_("token")}</label
|
||||||
|
>
|
||||||
|
<button on:click={copy} class="inline-flex">
|
||||||
<p
|
<p
|
||||||
name="token"
|
name="token"
|
||||||
class:bg-green-200={copied}
|
class:bg-green-200={copied}
|
||||||
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 p-2">
|
class="mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm rounded-l-md sm:text-sm border-gray-300 border bg-gray-50 text-gray-500 p-2"
|
||||||
|
>
|
||||||
{new_client.key}
|
{new_client.key}
|
||||||
</p>
|
</p>
|
||||||
<div
|
<div
|
||||||
class="bg-gray-200 border-gray-300 border-t border-b border-r text-black rounded-r-md sm:text-sm p-2 mt-1 cursor-pointer">
|
class="bg-gray-200 border-gray-300 border-t border-b border-r text-black rounded-r-md sm:text-sm p-2 mt-1 cursor-pointer"
|
||||||
|
>
|
||||||
<svg
|
<svg
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
viewBox="0 0 24 24"
|
viewBox="0 0 24 24"
|
||||||
width="24"
|
width="24"
|
||||||
height="24"><path fill="none" d="M0 0h24v24H0z" />
|
height="24"
|
||||||
|
><path fill="none" d="M0 0h24v24H0z" />
|
||||||
<path
|
<path
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
d="M7 4V2h10v2h3l1 1v16a1 1 0 01-1 1H4a1 1 0 01-1-1V5l1-1h3zm0 2H5v14h14V6h-2v2H7V6zm2-2v2h6V4H9z" /></svg>
|
d="M7 4V2h10v2h3l1 1v16a1 1 0 01-1 1H4a1 1 0 01-1-1V5l1-1h3zm0 2H5v14h14V6h-2v2H7V6zm2-2v2h6V4H9z"
|
||||||
|
/></svg
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</button>
|
||||||
<p class="text-gray-500 text-xs">
|
<p class="text-gray-500 text-xs">
|
||||||
{$_('click-to-copy-token-to-clipboard')}
|
{$_("click-to-copy-token-to-clipboard")}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -119,8 +136,9 @@
|
|||||||
<button
|
<button
|
||||||
on:click={close}
|
on:click={close}
|
||||||
type="button"
|
type="button"
|
||||||
class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-blue-600 text-base font-medium text-white hover:bg-green-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm">
|
class="w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-blue-600 text-base font-medium text-white hover:bg-green-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm"
|
||||||
{$_('yes-i-copied-the-token')}
|
>
|
||||||
|
{$_("yes-i-copied-the-token")}
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -33,6 +33,7 @@
|
|||||||
"all": "Alle",
|
"all": "Alle",
|
||||||
"all-associated-donations-will-get-deleted-as-well": "Alle Sponsorings dieser Sponsor:in werden ebenfalls gelöscht",
|
"all-associated-donations-will-get-deleted-as-well": "Alle Sponsorings dieser Sponsor:in werden ebenfalls gelöscht",
|
||||||
"all-associated-runners-will-be-deleted-too": "Alle zugehörigen Läufer:innen werden auch gelöscht!",
|
"all-associated-runners-will-be-deleted-too": "Alle zugehörigen Läufer:innen werden auch gelöscht!",
|
||||||
|
"all-associated-scans-will-get-deleted-as-well": "Alle Scans dieser Station werden ebenfalls gelöscht",
|
||||||
"all-associated-teams-and-runners-will-be-deleted-too": "Alle assoziierten Teams und Läufer:innen werden auch gelöscht!",
|
"all-associated-teams-and-runners-will-be-deleted-too": "Alle assoziierten Teams und Läufer:innen werden auch gelöscht!",
|
||||||
"already-paid": "Bereits bezahlt",
|
"already-paid": "Bereits bezahlt",
|
||||||
"amount": "Anzahl",
|
"amount": "Anzahl",
|
||||||
@@ -49,6 +50,7 @@
|
|||||||
"cancel-keep-donor": "Abbrechen, Sponsor:in behalten",
|
"cancel-keep-donor": "Abbrechen, Sponsor:in behalten",
|
||||||
"cancel-keep-my-profile": "Abbrechen, mein Profil behalten",
|
"cancel-keep-my-profile": "Abbrechen, mein Profil behalten",
|
||||||
"cancel-keep-organization": "Abbrechen und Organisation bearbeiten",
|
"cancel-keep-organization": "Abbrechen und Organisation bearbeiten",
|
||||||
|
"cancel-keep-station": "Abbrechen und Station behalten",
|
||||||
"cancel-keep-statsclient": "Abbrechen und Statsclient behalten",
|
"cancel-keep-statsclient": "Abbrechen und Statsclient behalten",
|
||||||
"cancel-keep-team": "Abbrechen, Team behalten",
|
"cancel-keep-team": "Abbrechen, Team behalten",
|
||||||
"cannot-reset-your-password-directly": "Schade. \nWir können das Passwort leider nicht direkt zurücksetzen.\nBitte sende uns eine Mail in der du deine Identität bestätigst.",
|
"cannot-reset-your-password-directly": "Schade. \nWir können das Passwort leider nicht direkt zurücksetzen.\nBitte sende uns eine Mail in der du deine Identität bestätigst.",
|
||||||
@@ -72,6 +74,7 @@
|
|||||||
"confirm-delete-donor-with-all-donations": "Bestätigen, Sponsor:in mit allen Sponsorings löschen",
|
"confirm-delete-donor-with-all-donations": "Bestätigen, Sponsor:in mit allen Sponsorings löschen",
|
||||||
"confirm-delete-my-user-profile": "Bestätigung, mein Benutzerprofil löschen",
|
"confirm-delete-my-user-profile": "Bestätigung, mein Benutzerprofil löschen",
|
||||||
"confirm-delete-organization-and-associated-teams-runners": "Bestätugung, lösche die Organisation und alle zugehörigen Teams und Läufer:innen.",
|
"confirm-delete-organization-and-associated-teams-runners": "Bestätugung, lösche die Organisation und alle zugehörigen Teams und Läufer:innen.",
|
||||||
|
"confirm-delete-station-with-all-scans": "Löschen der Scannerstation mit allen Scans bestätigen",
|
||||||
"confirm-delete-statsclient": "Bestätigung, Statsclient löschen",
|
"confirm-delete-statsclient": "Bestätigung, Statsclient löschen",
|
||||||
"confirm-delete-team-and-associated-runners": "Bestätigung, lösche das Team mitsamt seinen Läufer:innen.",
|
"confirm-delete-team-and-associated-runners": "Bestätigung, lösche das Team mitsamt seinen Läufer:innen.",
|
||||||
"confirm-deletion": "Löschung Bestätigen",
|
"confirm-deletion": "Löschung Bestätigen",
|
||||||
@@ -390,6 +393,7 @@
|
|||||||
"something-about-the-group": "Infos zur Gruppe",
|
"something-about-the-group": "Infos zur Gruppe",
|
||||||
"sponsoring-quittungs-liste_herunterladen": "Sponsoring-Quittungs-Liste herunterladen",
|
"sponsoring-quittungs-liste_herunterladen": "Sponsoring-Quittungs-Liste herunterladen",
|
||||||
"sponsorings": "Sponsoringerklaerungen",
|
"sponsorings": "Sponsoringerklaerungen",
|
||||||
|
"station-deleted": "Scannerstation gelöscht",
|
||||||
"stats-are-being-loaded": "Die Statistiken werden geladen...",
|
"stats-are-being-loaded": "Die Statistiken werden geladen...",
|
||||||
"statsclient-deleted": "Statsclient wurde gelöscht",
|
"statsclient-deleted": "Statsclient wurde gelöscht",
|
||||||
"statsclient-is-being-added": "Statsclient wird angelegt...",
|
"statsclient-is-being-added": "Statsclient wird angelegt...",
|
||||||
@@ -424,6 +428,7 @@
|
|||||||
"this-card-is": "Diese Karte ist",
|
"this-card-is": "Diese Karte ist",
|
||||||
"this-might-take-a-moment": "Das könnte einen kleinen Moment dauern",
|
"this-might-take-a-moment": "Das könnte einen kleinen Moment dauern",
|
||||||
"this-scanstation-is": "Diese Station ist",
|
"this-scanstation-is": "Diese Station ist",
|
||||||
|
"timestamp": "Timestamp",
|
||||||
"token": "Token",
|
"token": "Token",
|
||||||
"total-distance": "gelaufene Strecke",
|
"total-distance": "gelaufene Strecke",
|
||||||
"total-donation-amount": "Gesamtbetrag",
|
"total-donation-amount": "Gesamtbetrag",
|
||||||
|
|||||||
@@ -33,6 +33,7 @@
|
|||||||
"all": "all",
|
"all": "all",
|
||||||
"all-associated-donations-will-get-deleted-as-well": "All associated donations will get deleted as well",
|
"all-associated-donations-will-get-deleted-as-well": "All associated donations will get deleted as well",
|
||||||
"all-associated-runners-will-be-deleted-too": "All associated runners will be deleted too!",
|
"all-associated-runners-will-be-deleted-too": "All associated runners will be deleted too!",
|
||||||
|
"all-associated-scans-will-get-deleted-as-well": "All associated scans will get deleted as well",
|
||||||
"all-associated-teams-and-runners-will-be-deleted-too": "All associated teams and runners will be deleted too!",
|
"all-associated-teams-and-runners-will-be-deleted-too": "All associated teams and runners will be deleted too!",
|
||||||
"already-paid": "Already paid",
|
"already-paid": "Already paid",
|
||||||
"amount": "Amount",
|
"amount": "Amount",
|
||||||
@@ -49,6 +50,7 @@
|
|||||||
"cancel-keep-donor": "Cancel, keep donor",
|
"cancel-keep-donor": "Cancel, keep donor",
|
||||||
"cancel-keep-my-profile": "Cancel, keep my profile",
|
"cancel-keep-my-profile": "Cancel, keep my profile",
|
||||||
"cancel-keep-organization": "Cancel, keep organization",
|
"cancel-keep-organization": "Cancel, keep organization",
|
||||||
|
"cancel-keep-station": "Cancel, keep station",
|
||||||
"cancel-keep-statsclient": "Cancel and keep statsclient",
|
"cancel-keep-statsclient": "Cancel and keep statsclient",
|
||||||
"cancel-keep-team": "Cancel, keep team",
|
"cancel-keep-team": "Cancel, keep team",
|
||||||
"cannot-reset-your-password-directly": "Bummer. We unfortunately cannot reset your password directly. Please send us a mail and confirm your identity",
|
"cannot-reset-your-password-directly": "Bummer. We unfortunately cannot reset your password directly. Please send us a mail and confirm your identity",
|
||||||
@@ -72,6 +74,7 @@
|
|||||||
"confirm-delete-donor-with-all-donations": "Confirm, delete donor with all donations",
|
"confirm-delete-donor-with-all-donations": "Confirm, delete donor with all donations",
|
||||||
"confirm-delete-my-user-profile": "Confirm, delete my user profile",
|
"confirm-delete-my-user-profile": "Confirm, delete my user profile",
|
||||||
"confirm-delete-organization-and-associated-teams-runners": "Confirm, delete organization and associated teams+runners.",
|
"confirm-delete-organization-and-associated-teams-runners": "Confirm, delete organization and associated teams+runners.",
|
||||||
|
"confirm-delete-station-with-all-scans": "Confirm deletion of station with all scans",
|
||||||
"confirm-delete-statsclient": "Confirm, delete statsclient",
|
"confirm-delete-statsclient": "Confirm, delete statsclient",
|
||||||
"confirm-delete-team-and-associated-runners": "Confirm, delete team and associated runners.",
|
"confirm-delete-team-and-associated-runners": "Confirm, delete team and associated runners.",
|
||||||
"confirm-deletion": "Confirm Deletion",
|
"confirm-deletion": "Confirm Deletion",
|
||||||
@@ -390,6 +393,7 @@
|
|||||||
"something-about-the-group": "Something about the group...",
|
"something-about-the-group": "Something about the group...",
|
||||||
"sponsoring-quittungs-liste_herunterladen": "Download donor receipt list",
|
"sponsoring-quittungs-liste_herunterladen": "Download donor receipt list",
|
||||||
"sponsorings": "Sponsorings",
|
"sponsorings": "Sponsorings",
|
||||||
|
"station-deleted": "station deleted",
|
||||||
"stats-are-being-loaded": "stats are being loaded...",
|
"stats-are-being-loaded": "stats are being loaded...",
|
||||||
"statsclient-deleted": "Deleted statsclient",
|
"statsclient-deleted": "Deleted statsclient",
|
||||||
"statsclient-is-being-added": "Statsclient is being added...",
|
"statsclient-is-being-added": "Statsclient is being added...",
|
||||||
@@ -424,6 +428,7 @@
|
|||||||
"this-card-is": "This card is",
|
"this-card-is": "This card is",
|
||||||
"this-might-take-a-moment": "This might take a moment 👀",
|
"this-might-take-a-moment": "This might take a moment 👀",
|
||||||
"this-scanstation-is": "This scanstation is",
|
"this-scanstation-is": "This scanstation is",
|
||||||
|
"timestamp": "timestamp",
|
||||||
"token": "Token",
|
"token": "Token",
|
||||||
"total-distance": "total distance",
|
"total-distance": "total distance",
|
||||||
"total-donation-amount": "total donation amount",
|
"total-donation-amount": "total donation amount",
|
||||||
|
|||||||
Reference in New Issue
Block a user