Compare commits
13 Commits
1.9.3
...
feature/sp
| Author | SHA1 | Date | |
|---|---|---|---|
|
c3226c37c9
|
|||
|
210140fd67
|
|||
|
35e58d233e
|
|||
|
a09bf31e22
|
|||
|
7c31fba83a
|
|||
|
c00497d776
|
|||
|
766eeab49f
|
|||
|
3c9b404234
|
|||
|
9c56b3883e
|
|||
|
3d506db975
|
|||
|
d7e84a79a8
|
|||
|
102471eaaa
|
|||
|
90b0fec236
|
28
CHANGELOG.md
28
CHANGELOG.md
@@ -2,11 +2,39 @@
|
|||||||
|
|
||||||
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.9.7](https://git.odit.services/lfk/frontend/compare/1.9.6...1.9.7)
|
||||||
|
|
||||||
|
- fix: ImportRunnerModal scrolling & team select [`766eeab`](https://git.odit.services/lfk/frontend/commit/766eeab49fb3ca5715c19dbf9bc53cb71124d3df)
|
||||||
|
|
||||||
|
#### [1.9.6](https://git.odit.services/lfk/frontend/compare/1.9.5...1.9.6)
|
||||||
|
|
||||||
|
> 29 March 2025
|
||||||
|
|
||||||
|
- chore(release): 1.9.6 [`3c9b404`](https://git.odit.services/lfk/frontend/commit/3c9b404234c7d7d2f0c48256be2130a0ed8ae047)
|
||||||
|
- pnpm allow builds [`9c56b38`](https://git.odit.services/lfk/frontend/commit/9c56b3883eeab9e1a5e1c4921bfb6528c230e0d4)
|
||||||
|
|
||||||
|
#### [1.9.5](https://git.odit.services/lfk/frontend/compare/1.9.4...1.9.5)
|
||||||
|
|
||||||
|
> 29 March 2025
|
||||||
|
|
||||||
|
- feat: modal improvements [`d7e84a7`](https://git.odit.services/lfk/frontend/commit/d7e84a79a892294d532cc93aa3391c14a7a5ce99)
|
||||||
|
- chore(release): 1.9.5 [`3d506db`](https://git.odit.services/lfk/frontend/commit/3d506db97502399e8b381b4cf38af2f07a584aec)
|
||||||
|
|
||||||
|
#### [1.9.4](https://git.odit.services/lfk/frontend/compare/1.9.3...1.9.4)
|
||||||
|
|
||||||
|
> 29 March 2025
|
||||||
|
|
||||||
|
- feat: improve modals [`90b0fec`](https://git.odit.services/lfk/frontend/commit/90b0fec2366b608d163decdcd8798e879cf8218d)
|
||||||
|
- chore(release): 1.9.4 [`102471e`](https://git.odit.services/lfk/frontend/commit/102471eaaae390d3ef815afde9ac4081be7d5dbc)
|
||||||
|
|
||||||
#### [1.9.3](https://git.odit.services/lfk/frontend/compare/1.9.2...1.9.3)
|
#### [1.9.3](https://git.odit.services/lfk/frontend/compare/1.9.2...1.9.3)
|
||||||
|
|
||||||
|
> 29 March 2025
|
||||||
|
|
||||||
- feat: modal improvements [`fbe38ee`](https://git.odit.services/lfk/frontend/commit/fbe38eede95813e163a390b693790d78ce75c215)
|
- feat: modal improvements [`fbe38ee`](https://git.odit.services/lfk/frontend/commit/fbe38eede95813e163a390b693790d78ce75c215)
|
||||||
- feat: modal improvements [`22551c3`](https://git.odit.services/lfk/frontend/commit/22551c379f704b0d9c28c499f7d3f5a37f1533ca)
|
- feat: modal improvements [`22551c3`](https://git.odit.services/lfk/frontend/commit/22551c379f704b0d9c28c499f7d3f5a37f1533ca)
|
||||||
- ci: only tagged runs for now [`e9dffce`](https://git.odit.services/lfk/frontend/commit/e9dffcea835cbcd6b5eb4ed1cc3feb62a9e831db)
|
- ci: only tagged runs for now [`e9dffce`](https://git.odit.services/lfk/frontend/commit/e9dffcea835cbcd6b5eb4ed1cc3feb62a9e831db)
|
||||||
|
- chore(release): 1.9.3 [`4883e17`](https://git.odit.services/lfk/frontend/commit/4883e179e7090cf90783dcdecd5df8a422880188)
|
||||||
- feat: modal improvements [`13c6e96`](https://git.odit.services/lfk/frontend/commit/13c6e96292613d9619f779f2557201cf0b938753)
|
- feat: modal improvements [`13c6e96`](https://git.odit.services/lfk/frontend/commit/13c6e96292613d9619f779f2557201cf0b938753)
|
||||||
- feat(OrgDetail): improve selfservice link copy [`f547c0c`](https://git.odit.services/lfk/frontend/commit/f547c0cc817d7db0c70df4059dad753e9b16c1c9)
|
- feat(OrgDetail): improve selfservice link copy [`f547c0c`](https://git.odit.services/lfk/frontend/commit/f547c0cc817d7db0c70df4059dad753e9b16c1c9)
|
||||||
- chore(deps): pnpm@10.7 [`b9563d7`](https://git.odit.services/lfk/frontend/commit/b9563d75dd15519d9ec5d425d628d232e7609913)
|
- chore(deps): pnpm@10.7 [`b9563d7`](https://git.odit.services/lfk/frontend/commit/b9563d75dd15519d9ec5d425d628d232e7609913)
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
<body>
|
<body>
|
||||||
<span style="display: none; visibility: hidden" id="buildinfo"
|
<span style="display: none; visibility: hidden" id="buildinfo"
|
||||||
>RELEASE_INFO-1.9.3-RELEASE_INFO</span
|
>RELEASE_INFO-1.9.7-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>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@odit/lfk-frontend",
|
"name": "@odit/lfk-frontend",
|
||||||
"version": "1.9.3",
|
"version": "1.9.7",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"i18n-order": "node order.js",
|
"i18n-order": "node order.js",
|
||||||
|
|||||||
3
pnpm-workspace.yaml
Normal file
3
pnpm-workspace.yaml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
onlyBuiltDependencies:
|
||||||
|
- es5-ext
|
||||||
|
- esbuild
|
||||||
@@ -98,7 +98,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -119,7 +119,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<div
|
<div
|
||||||
class="mx-auto flex-shrink-0 flex items-center justify-center h-12 w- rounded-full bg-blue-100 sm:mx-0 sm:h-10 sm:w-10"
|
class="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -135,18 +135,18 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:mt-0 sm:text-left">
|
<div class="mt-3 sm:mt-0">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("create-bulk-blanco-cards")}
|
{$_("create-bulk-blanco-cards")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_(
|
{$_(
|
||||||
"just-enter-how-many-you-want-and-the-system-will-create-them"
|
"just-enter-how-many-you-want-and-the-system-will-create-them"
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-6 gap-6 text-left">
|
<div class="grid grid-cols-6 gap-2 lg:gap-6 text-left">
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label
|
||||||
for="amount"
|
for="amount"
|
||||||
@@ -183,7 +183,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
disabled={!createbtnenabled}
|
disabled={!createbtnenabled}
|
||||||
class:opacity-50={!createbtnenabled}
|
class:opacity-50={!createbtnenabled}
|
||||||
|
|||||||
@@ -91,7 +91,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -128,11 +128,11 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:mt-0 sm:text-left">
|
<div class="mt-3 sm:mt-0">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("create-a-new-card")}
|
{$_("create-a-new-card")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_("you-can-provide-a-runner-but-you-dont-have-to")}
|
{$_("you-can-provide-a-runner-but-you-dont-have-to")}
|
||||||
{$_(
|
{$_(
|
||||||
@@ -140,7 +140,7 @@
|
|||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-6 gap-6 text-left">
|
<div class="grid grid-cols-6 gap-2 lg:gap-6 text-left">
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label
|
||||||
for="donor"
|
for="donor"
|
||||||
@@ -165,7 +165,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
disabled={!createbtnenabled}
|
disabled={!createbtnenabled}
|
||||||
class:opacity-50={!createbtnenabled}
|
class:opacity-50={!createbtnenabled}
|
||||||
|
|||||||
@@ -85,7 +85,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -106,7 +106,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -122,16 +122,16 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("edit-a-card")}
|
{$_("edit-a-card")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_("you-can-provide-a-runner-but-you-dont-have-to")}
|
{$_("you-can-provide-a-runner-but-you-dont-have-to")}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-6 gap-6 text-left">
|
<div class="grid grid-cols-6 gap-2 lg:gap-6 text-left">
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label
|
||||||
for="runner"
|
for="runner"
|
||||||
@@ -174,7 +174,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
disabled={!createbtnenabled}
|
disabled={!createbtnenabled}
|
||||||
class:opacity-50={!createbtnenabled}
|
class:opacity-50={!createbtnenabled}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("please-confirm-the-deletion-of-card")}
|
{$_("please-confirm-the-deletion-of-card")}
|
||||||
</h3>
|
</h3>
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
on:click={submit}
|
on:click={submit}
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
@@ -143,7 +143,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -164,7 +164,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -179,18 +179,18 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("create-a-new-contact")}
|
{$_("create-a-new-contact")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_(
|
{$_(
|
||||||
"please-provide-the-required-information-to-add-a-new-contact"
|
"please-provide-the-required-information-to-add-a-new-contact"
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-6 gap-6 text-left">
|
<div class="grid grid-cols-6 gap-2 lg:gap-6 text-left">
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label
|
||||||
for="firstname"
|
for="firstname"
|
||||||
@@ -454,7 +454,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
disabled={!createbtnenabled}
|
disabled={!createbtnenabled}
|
||||||
class:opacity-50={!createbtnenabled}
|
class:opacity-50={!createbtnenabled}
|
||||||
|
|||||||
@@ -122,7 +122,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -143,7 +143,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -158,7 +158,7 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left">
|
<div class="mt-3">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{#if is_fixed}
|
{#if is_fixed}
|
||||||
{$_("create-a-new-fixed-donation")}
|
{$_("create-a-new-fixed-donation")}
|
||||||
@@ -177,14 +177,14 @@
|
|||||||
>{$_("fixed-donation")}</span
|
>{$_("fixed-donation")}</span
|
||||||
>
|
>
|
||||||
</label>
|
</label>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_(
|
{$_(
|
||||||
"please-provide-the-nessecary-information-to-create-a-new-donation"
|
"please-provide-the-nessecary-information-to-create-a-new-donation"
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-6 gap-6 text-left">
|
<div class="grid grid-cols-6 gap-2 lg:gap-6 text-left">
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label
|
||||||
for="donor"
|
for="donor"
|
||||||
@@ -289,7 +289,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
disabled={!createbtnenabled}
|
disabled={!createbtnenabled}
|
||||||
class:opacity-50={!createbtnenabled}
|
class:opacity-50={!createbtnenabled}
|
||||||
|
|||||||
@@ -83,7 +83,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -104,7 +104,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<div
|
<div
|
||||||
class="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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -124,14 +124,14 @@
|
|||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("enter-payment")}
|
{$_("enter-payment")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_(
|
{$_(
|
||||||
"you-can-enter-the-donations-paid-amount-manually-or-use-the-max-button-to-use-the-donations-exact-amount"
|
"you-can-enter-the-donations-paid-amount-manually-or-use-the-max-button-to-use-the-donations-exact-amount"
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols gap-6">
|
<div class="grid grid-cols gap-2 lg:gap-6">
|
||||||
<div class="w-full">
|
<div class="w-full">
|
||||||
<label
|
<label
|
||||||
for="token"
|
for="token"
|
||||||
@@ -179,7 +179,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
disabled={!createbtnenabled}
|
disabled={!createbtnenabled}
|
||||||
class:opacity-50={!createbtnenabled}
|
class:opacity-50={!createbtnenabled}
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -80,7 +80,7 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("please-confirm-the-deletion-of-donation")}
|
{$_("please-confirm-the-deletion-of-donation")}
|
||||||
</h3>
|
</h3>
|
||||||
@@ -93,7 +93,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
on:click={submit}
|
on:click={submit}
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
@@ -131,7 +131,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -152,7 +152,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -167,18 +167,18 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left">
|
<div class="mt-3">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("create-a-new-donor")}
|
{$_("create-a-new-donor")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_(
|
{$_(
|
||||||
"please-provide-the-nessecary-information-to-add-a-new-donor"
|
"please-provide-the-nessecary-information-to-add-a-new-donor"
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-6 gap-6 text-left">
|
<div class="grid grid-cols-6 gap-2 lg:gap-6 text-left">
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label
|
||||||
for="firstname"
|
for="firstname"
|
||||||
@@ -418,7 +418,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
disabled={!createbtnenabled}
|
disabled={!createbtnenabled}
|
||||||
class:opacity-50={!createbtnenabled}
|
class:opacity-50={!createbtnenabled}
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
on:click_outside={cancelDelete}
|
on:click_outside={cancelDelete}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -42,7 +42,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -54,13 +54,13 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_(
|
{$_(
|
||||||
"do-you-want-to-delete-this-donor-with-all-related-donations"
|
"do-you-want-to-delete-this-donor-with-all-related-donations"
|
||||||
)}
|
)}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_("all-associated-donations-will-get-deleted-as-well")}
|
{$_("all-associated-donations-will-get-deleted-as-well")}
|
||||||
</p>
|
</p>
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
on:click={deleteDonor}
|
on:click={deleteDonor}
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
@@ -52,7 +52,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-12 rounded-full bg-blue-100 sm:mx-0 sm:h-10 sm:w-10"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
fill="currentColor"
|
fill="currentColor"
|
||||||
@@ -71,16 +71,16 @@
|
|||||||
<h3 class="text-lg leading-6 font-medium">
|
<h3 class="text-lg leading-6 font-medium">
|
||||||
{$_("read-license")}
|
{$_("read-license")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">{currentlicense}</p>
|
<p class="text-sm text-gray-500">{currentlicense}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">{licensetext}</p>
|
<p class="text-sm text-gray-500">{licensetext}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
modal_open = false;
|
modal_open = false;
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -87,7 +87,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-12 rounded-full bg-blue-100 sm:mx-0 sm:h-10 sm:w-10"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
@@ -102,18 +102,18 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("create-a-new-user-group")}
|
{$_("create-a-new-user-group")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_(
|
{$_(
|
||||||
"please-provide-the-required-information-for-creating-a-new-user-group"
|
"please-provide-the-required-information-for-creating-a-new-user-group"
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-6 gap-6 text-left">
|
<div class="grid grid-cols-6 gap-2 lg:gap-6 text-left">
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label
|
||||||
for="firstname"
|
for="firstname"
|
||||||
@@ -159,7 +159,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
disabled={!createbtnenabled}
|
disabled={!createbtnenabled}
|
||||||
class:opacity-50={!createbtnenabled}
|
class:opacity-50={!createbtnenabled}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
$: address_input2_value = "";
|
$: address_input2_value = "";
|
||||||
$: address_zipcode_value = "";
|
$: address_zipcode_value = "";
|
||||||
$: address_city_value = "";
|
$: address_city_value = "";
|
||||||
$: address_checked = true;
|
$: address_checked = false;
|
||||||
|
|
||||||
let address_input1;
|
let address_input1;
|
||||||
let address_input2;
|
let address_input2;
|
||||||
@@ -89,7 +89,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -110,7 +110,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -124,18 +124,18 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 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">
|
||||||
{$_("create-a-new-organization")}
|
{$_("create-a-new-organization")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_(
|
{$_(
|
||||||
"please-provide-the-required-information-to-add-a-new-organization"
|
"please-provide-the-required-information-to-add-a-new-organization"
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-6 gap-6 text-left">
|
<div class="grid grid-cols-6 gap-2 lg:gap-6 text-left">
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label
|
||||||
for="firstname"
|
for="firstname"
|
||||||
@@ -222,7 +222,7 @@
|
|||||||
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-neutral-800 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-neutral-800 rounded-md p-2"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-span-6">
|
<div class="col-span-2">
|
||||||
<label
|
<label
|
||||||
for="zipcode"
|
for="zipcode"
|
||||||
class="block text-sm font-medium text-gray-700"
|
class="block text-sm font-medium text-gray-700"
|
||||||
@@ -248,7 +248,7 @@
|
|||||||
</span>
|
</span>
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-span-6">
|
<div class="col-span-4">
|
||||||
<label
|
<label
|
||||||
for="city"
|
for="city"
|
||||||
class="block text-sm font-medium text-gray-700"
|
class="block text-sm font-medium text-gray-700"
|
||||||
@@ -279,7 +279,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
disabled={!createbtnenabled}
|
disabled={!createbtnenabled}
|
||||||
class:opacity-50={!createbtnenabled}
|
class:opacity-50={!createbtnenabled}
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
on:click_outside={cancelDelete}
|
on:click_outside={cancelDelete}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -53,7 +53,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -68,13 +68,13 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("do-you-want-to-delete-the-organization-delete_org-name", {
|
{$_("do-you-want-to-delete-the-organization-delete_org-name", {
|
||||||
values: { orgname: delete_org.name },
|
values: { orgname: delete_org.name },
|
||||||
})}
|
})}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_("all-associated-teams-and-runners-will-be-deleted-too")}
|
{$_("all-associated-teams-and-runners-will-be-deleted-too")}
|
||||||
</p>
|
</p>
|
||||||
@@ -82,7 +82,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
on:click={deleteOrg}
|
on:click={deleteOrg}
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
81
src/components/pdf_generation/DownloadProgressModal.svelte
Normal file
81
src/components/pdf_generation/DownloadProgressModal.svelte
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
<script>
|
||||||
|
import { _ } from "svelte-i18n";
|
||||||
|
import { clickOutside } from "../base/outsideclick";
|
||||||
|
import { onMount } from "svelte";
|
||||||
|
export let download_details = "";
|
||||||
|
export let modal_open;
|
||||||
|
onMount(() => {
|
||||||
|
document.onkeydown = (e) => {
|
||||||
|
e = e || window.event;
|
||||||
|
if (e.key === "Escape") {
|
||||||
|
modal_open = false;
|
||||||
|
}
|
||||||
|
if (e.keyCode === 13) {
|
||||||
|
if (createbtnenabled === true) {
|
||||||
|
createbtnenabled = false;
|
||||||
|
submit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{#if modal_open}
|
||||||
|
<div
|
||||||
|
class="fixed z-10 inset-0 overflow-y-hidden"
|
||||||
|
use:clickOutside
|
||||||
|
on:click_outside={() => {
|
||||||
|
modal_open = false;
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
|
>
|
||||||
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
|
<div
|
||||||
|
class="absolute inset-0 bg-gray-500 opacity-75"
|
||||||
|
data-id="modal_backdrop"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<span
|
||||||
|
class="hidden sm:inline-block sm:align-middle sm:h-screen"
|
||||||
|
aria-hidden="true">​</span
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="inline-block align-bottom text-left shadow-xl transform transition-all sm:align-middle w-full lg:w-auto min-w-auto lg:min-w-[35vw]"
|
||||||
|
role="dialog"
|
||||||
|
aria-modal="true"
|
||||||
|
aria-labelledby="modal-headline"
|
||||||
|
>
|
||||||
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
|
<div class="">
|
||||||
|
<div
|
||||||
|
class="flex-shrink-0 flex items-center justify-center size-12 rounded-full bg-blue-100 sm:mx-0 sm:h-10 sm:w-10"
|
||||||
|
>
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
class="h-6 w-6 text-blue-600"
|
||||||
|
fill="currentColor"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
><path fill="none" d="M0 0h24v24H0z" />
|
||||||
|
<path
|
||||||
|
d="M9.83 8.79L8 9.456V13H6V8.05h.015l5.268-1.918c.244-.093.51-.14.782-.131a2.616 2.616 0 0 1 2.427 1.82c.186.583.356.977.51 1.182A4.992 4.992 0 0 0 19 11v2a6.986 6.986 0 0 1-5.402-2.547l-.581 3.297L15 15.67V23h-2v-5.986l-2.05-1.987-.947 4.298-6.894-1.215.348-1.97 4.924.868L9.83 8.79zM13.5 5.5a2 2 0 1 1 0-4 2 2 0 0 1 0 4z"
|
||||||
|
/></svg
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
<div class="mt-3 sm:text-left text-base">
|
||||||
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
|
{$_('download_laeuft')}
|
||||||
|
</h3>
|
||||||
|
<div class="w-full">
|
||||||
|
{download_details}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{/if}
|
||||||
@@ -7,6 +7,7 @@
|
|||||||
import DocumentServer from "./DocumentServer";
|
import DocumentServer from "./DocumentServer";
|
||||||
import { init } from "@paralleldrive/cuid2";
|
import { init } from "@paralleldrive/cuid2";
|
||||||
import toast from "svelte-french-toast";
|
import toast from "svelte-french-toast";
|
||||||
|
import DownloadProgressModal from "./DownloadProgressModal.svelte";
|
||||||
const createId = init({ length: 10, fingerprint: "lfk-frontend" });
|
const createId = init({ length: 10, fingerprint: "lfk-frontend" });
|
||||||
const documentServer = new DocumentServer(
|
const documentServer = new DocumentServer(
|
||||||
config.baseurl_documentserver,
|
config.baseurl_documentserver,
|
||||||
@@ -17,8 +18,12 @@
|
|||||||
export let generate_runners = [];
|
export let generate_runners = [];
|
||||||
export let generate_orgs = [];
|
export let generate_orgs = [];
|
||||||
export let generate_teams = [];
|
export let generate_teams = [];
|
||||||
|
//
|
||||||
|
export let download_modal_open = false;
|
||||||
|
export let download_details = "";
|
||||||
|
|
||||||
function generateSponsoringContract(locale) {
|
function generateSponsoringContract(locale) {
|
||||||
|
download_modal_open = true;
|
||||||
if (generate_orgs.length > 0) {
|
if (generate_orgs.length > 0) {
|
||||||
generateOrgContracts(locale);
|
generateOrgContracts(locale);
|
||||||
} else if (generate_teams.length > 0) {
|
} else if (generate_teams.length > 0) {
|
||||||
@@ -41,19 +46,24 @@
|
|||||||
|
|
||||||
async function generateTeamContracts(locale) {
|
async function generateTeamContracts(locale) {
|
||||||
toast.loading($_("generating-pdfs"));
|
toast.loading($_("generating-pdfs"));
|
||||||
|
let totalCount = generate_teams.length;
|
||||||
let count = 0;
|
let count = 0;
|
||||||
for (const t of generate_teams) {
|
for (const t of generate_teams) {
|
||||||
count++;
|
count++;
|
||||||
|
download_details = `${t.parentGroup.name} > ${t.name}`;
|
||||||
const runners = await RunnerTeamService.runnerTeamControllerGetRunners(
|
const runners = await RunnerTeamService.runnerTeamControllerGetRunners(
|
||||||
t.id
|
t.id
|
||||||
);
|
);
|
||||||
documentServer
|
await documentServer
|
||||||
.generateContracts(runners, locale)
|
.generateContracts(runners, locale)
|
||||||
.then((blob) => {
|
.then((blob) => {
|
||||||
download(
|
download(
|
||||||
blob,
|
blob,
|
||||||
`${$_("sponsorings")}_${t.name}-${locale}-${createId()}.pdf`
|
`${$_("sponsorings")}_${t.name}-${locale}-${createId()}.pdf`
|
||||||
);
|
);
|
||||||
|
if (count === totalCount) {
|
||||||
|
download_modal_open = false;
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {});
|
.catch((err) => {});
|
||||||
}
|
}
|
||||||
@@ -61,15 +71,23 @@
|
|||||||
|
|
||||||
async function generateOrgContracts(locale) {
|
async function generateOrgContracts(locale) {
|
||||||
toast.loading($_("generating-pdf"));
|
toast.loading($_("generating-pdf"));
|
||||||
let count_orgs = 0;
|
let totalCount = 0;
|
||||||
for (const o of generate_orgs) {
|
for (const o of generate_orgs) {
|
||||||
count_orgs++;
|
totalCount++;
|
||||||
let count = 0;
|
for (const t of o.teams) {
|
||||||
|
totalCount++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log({ totalCount });
|
||||||
|
let count = 0;
|
||||||
|
for (const o of generate_orgs) {
|
||||||
|
count++;
|
||||||
let runners =
|
let runners =
|
||||||
await RunnerOrganizationService.runnerOrganizationControllerGetRunners(
|
await RunnerOrganizationService.runnerOrganizationControllerGetRunners(
|
||||||
o.id,
|
o.id,
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
download_details = o.name;
|
||||||
await documentServer
|
await documentServer
|
||||||
.generateContracts(runners, locale)
|
.generateContracts(runners, locale)
|
||||||
.then((blob) => {
|
.then((blob) => {
|
||||||
@@ -84,6 +102,7 @@
|
|||||||
let runners = await RunnerTeamService.runnerTeamControllerGetRunners(
|
let runners = await RunnerTeamService.runnerTeamControllerGetRunners(
|
||||||
t.id
|
t.id
|
||||||
);
|
);
|
||||||
|
download_details = `${o.name} > ${t.name}`;
|
||||||
await documentServer
|
await documentServer
|
||||||
.generateContracts(runners, locale)
|
.generateContracts(runners, locale)
|
||||||
.then((blob) => {
|
.then((blob) => {
|
||||||
@@ -93,15 +112,19 @@
|
|||||||
t.name
|
t.name
|
||||||
}-${locale}-${createId()}.pdf`
|
}-${locale}-${createId()}.pdf`
|
||||||
);
|
);
|
||||||
|
console.log({ count });
|
||||||
|
if (count === totalCount) {
|
||||||
|
download_modal_open = false;
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {});
|
.catch((err) => {});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function generateRunnerContracts(locale) {
|
async function generateRunnerContracts(locale) {
|
||||||
toast.loading($_("generating-pdf"));
|
toast.loading($_("generating-pdf"));
|
||||||
documentServer
|
await documentServer
|
||||||
.generateContracts(generate_runners, locale)
|
.generateContracts(generate_runners, locale)
|
||||||
.then((blob) => {
|
.then((blob) => {
|
||||||
let fileName = `${$_("sponsorings")}-${locale}-${createId()}.pdf`;
|
let fileName = `${$_("sponsorings")}-${locale}-${createId()}.pdf`;
|
||||||
@@ -111,6 +134,7 @@
|
|||||||
}-${locale}-${createId()}.pdf`;
|
}-${locale}-${createId()}.pdf`;
|
||||||
}
|
}
|
||||||
download(blob, fileName);
|
download(blob, fileName);
|
||||||
|
download_modal_open = false;
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.error(err);
|
console.error(err);
|
||||||
@@ -119,6 +143,7 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#if sponsoring_contracts_show}
|
{#if sponsoring_contracts_show}
|
||||||
|
<DownloadProgressModal {download_details} modal_open={download_modal_open} />
|
||||||
<button
|
<button
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
generateSponsoringContract("de");
|
generateSponsoringContract("de");
|
||||||
|
|||||||
@@ -124,7 +124,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -145,7 +145,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-12 rounded-full bg-blue-100 sm:mx-0 sm:h-10 sm:w-10"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
@@ -160,18 +160,18 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("create-a-new-runner")}
|
{$_("create-a-new-runner")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_(
|
{$_(
|
||||||
"please-provide-the-required-information-to-add-a-new-runner"
|
"please-provide-the-required-information-to-add-a-new-runner"
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-6 gap-6 text-left">
|
<div class="grid grid-cols-6 gap-2 lg:gap-6 text-left">
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label
|
||||||
for="firstname"
|
for="firstname"
|
||||||
@@ -323,7 +323,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
disabled={!createbtnenabled}
|
disabled={!createbtnenabled}
|
||||||
class:opacity-50={!createbtnenabled}
|
class:opacity-50={!createbtnenabled}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-12 rounded-full bg-blue-100 sm:mx-0 sm:h-10 sm:w-10"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 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">
|
||||||
{$_('delete_runner')}
|
{$_('delete_runner')}
|
||||||
</h3>
|
</h3>
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
on:click={submit}
|
on:click={submit}
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
@@ -1,401 +1,386 @@
|
|||||||
<script>
|
<script>
|
||||||
import csv from "csvtojson";
|
import csv from "csvtojson";
|
||||||
import { read as readXlsx, utils as xlsx_utils } from "xlsx";
|
import { read as readXlsx, utils as xlsx_utils } from "xlsx";
|
||||||
import { _ } from "svelte-i18n";
|
import { _ } from "svelte-i18n";
|
||||||
import { clickOutside } from "../base/outsideclick";
|
import { clickOutside } from "../base/outsideclick";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
ImportService,
|
ImportService,
|
||||||
RunnerTeamService,
|
RunnerTeamService,
|
||||||
RunnerOrganizationService,
|
RunnerOrganizationService,
|
||||||
} from "@odit/lfk-client-js";
|
} from "@odit/lfk-client-js";
|
||||||
import { createEventDispatcher } from "svelte";
|
import { createEventDispatcher } from "svelte";
|
||||||
import Select from "svelte-select";
|
import Select from "svelte-select";
|
||||||
import toast from "svelte-french-toast";
|
import toast from "svelte-french-toast";
|
||||||
export let opened_from;
|
export let opened_from;
|
||||||
export let passed_org;
|
export let passed_org;
|
||||||
export let passed_orgs;
|
export let passed_orgs;
|
||||||
export let passed_team;
|
export let passed_team;
|
||||||
export let import_modal_open;
|
export let import_modal_open;
|
||||||
$: searchvalue = "";
|
$: searchvalue = "";
|
||||||
$: importButtonEnabled =
|
$: importButtonEnabled =
|
||||||
recent_processed &&
|
recent_processed &&
|
||||||
(!(selected_org_or_team == "" || selected_org_or_team == null) ||
|
(!(selected_org_or_team == "" || selected_org_or_team == null) ||
|
||||||
!(passed_org?.id == null || passed_org?.id == 0) ||
|
!(passed_org?.id == null || passed_org?.id == 0) ||
|
||||||
!(passed_team?.id == null || passed_team?.id == 0));
|
!(passed_team?.id == null || passed_team?.id == 0));
|
||||||
const dispatch = createEventDispatcher();
|
const dispatch = createEventDispatcher();
|
||||||
function cancelModal() {
|
function cancelModal() {
|
||||||
json_output = [];
|
json_output = [];
|
||||||
import_modal_open = false;
|
import_modal_open = false;
|
||||||
dispatch("cancel");
|
dispatch("cancel");
|
||||||
}
|
}
|
||||||
(() => {
|
(() => {
|
||||||
document.onkeydown = (e) => {
|
document.onkeydown = (e) => {
|
||||||
e = e || window.event;
|
e = e || window.event;
|
||||||
if (e.key === "Escape") {
|
if (e.key === "Escape") {
|
||||||
cancelModal();
|
cancelModal();
|
||||||
}
|
}
|
||||||
if (e.keyCode === 13) {
|
if (e.keyCode === 13) {
|
||||||
//
|
//
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
let groups = [];
|
let groups = [];
|
||||||
RunnerOrganizationService.runnerOrganizationControllerGetAll().then((val) => {
|
RunnerOrganizationService.runnerOrganizationControllerGetAll().then((val) => {
|
||||||
const orgs = val.map((r) => {
|
const orgs = val.map((r) => {
|
||||||
return { label: r.name, value: `ORG_${r.id}` };
|
return { label: r.name, value: `ORG_${r.id}` };
|
||||||
});
|
});
|
||||||
groups = groups.concat(orgs);
|
groups = groups.concat(orgs);
|
||||||
RunnerTeamService.runnerTeamControllerGetAll().then((val) => {
|
RunnerTeamService.runnerTeamControllerGetAll().then((val) => {
|
||||||
const teams = val.map((r) => {
|
const teams = val.map((r) => {
|
||||||
return {
|
return {
|
||||||
label: `${r.parentGroup.name} > ${r.name}`,
|
label: `${r.parentGroup.name} > ${r.name}`,
|
||||||
value: `TEAM_${r.id}`,
|
value: `TEAM_${r.id}`,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
groups = groups.concat(teams);
|
groups = groups.concat(teams);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
let selected_org;
|
let selected_org;
|
||||||
$: selected_org_or_team = "";
|
$: selected_org_or_team = "";
|
||||||
let files;
|
let files;
|
||||||
let recent_processed = true;
|
let recent_processed = true;
|
||||||
$: json_output = [];
|
$: json_output = [];
|
||||||
$: {
|
$: {
|
||||||
if (files) {
|
if (files) {
|
||||||
if (
|
if (
|
||||||
files[0].type ===
|
files[0].type ===
|
||||||
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
||||||
) {
|
) {
|
||||||
const reader = new FileReader();
|
const reader = new FileReader();
|
||||||
reader.addEventListener("load", async (e) => {
|
reader.addEventListener("load", async (e) => {
|
||||||
const data = new Uint8Array(e.target.result);
|
const data = new Uint8Array(e.target.result);
|
||||||
const out = readXlsx(data, { type: "array" });
|
const out = readXlsx(data, { type: "array" });
|
||||||
json_output = xlsx_utils.sheet_to_json(
|
json_output = xlsx_utils.sheet_to_json(
|
||||||
out.Sheets[Object.keys(out.Sheets)[0]]
|
out.Sheets[Object.keys(out.Sheets)[0]]
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
reader.readAsArrayBuffer(files[0]);
|
reader.readAsArrayBuffer(files[0]);
|
||||||
} else {
|
} else {
|
||||||
const reader = new FileReader();
|
const reader = new FileReader();
|
||||||
reader.addEventListener("load", async (e) => {
|
reader.addEventListener("load", async (e) => {
|
||||||
json_output = await csv({
|
json_output = await csv({
|
||||||
delimiter: [";", ","],
|
delimiter: [";", ","],
|
||||||
trim: true,
|
trim: true,
|
||||||
}).fromString(e.target.result);
|
}).fromString(e.target.result);
|
||||||
});
|
});
|
||||||
reader.readAsText(files[0]);
|
reader.readAsText(files[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function importAction() {
|
function importAction() {
|
||||||
if (recent_processed === true) {
|
if (recent_processed === true) {
|
||||||
toast.loading($_("runners-are-being-imported"));
|
toast.loading($_("runners-are-being-imported"));
|
||||||
recent_processed = false;
|
recent_processed = false;
|
||||||
const mapped = json_output.map(function (runner) {
|
const mapped = json_output.map(function (runner) {
|
||||||
return {
|
return {
|
||||||
firstname: runner[`${$_("csv_import__firstname")}`],
|
firstname: runner[`${$_("csv_import__firstname")}`],
|
||||||
middlename: runner[`${$_("csv_import__middlename")}`],
|
middlename: runner[`${$_("csv_import__middlename")}`],
|
||||||
lastname: runner[`${$_("csv_import__lastname")}`],
|
lastname: runner[`${$_("csv_import__lastname")}`],
|
||||||
team:
|
team:
|
||||||
runner[`${$_("csv_import__team")}`] ||
|
runner[`${$_("csv_import__team")}`] ||
|
||||||
runner[`${$_("csv_import__class")}`],
|
runner[`${$_("csv_import__class")}`],
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
let org = 0;
|
let org = 0;
|
||||||
if (opened_from === "OrgDetail") {
|
if (opened_from === "OrgDetail") {
|
||||||
org = passed_org.id;
|
org = passed_org.id;
|
||||||
}
|
}
|
||||||
if (opened_from === "OrgOverview") {
|
if (opened_from === "OrgOverview") {
|
||||||
org = parseInt(selected_org);
|
org = parseInt(selected_org);
|
||||||
}
|
}
|
||||||
if (opened_from === "OrgOverview" || opened_from === "OrgDetail") {
|
if (opened_from === "OrgOverview" || opened_from === "OrgDetail") {
|
||||||
ImportService.importControllerPostOrgsJson(org, mapped)
|
ImportService.importControllerPostOrgsJson(org, mapped)
|
||||||
.then((resp) => {
|
.then((resp) => {
|
||||||
toast.dismiss();
|
toast.dismiss();
|
||||||
recent_processed = true;
|
recent_processed = true;
|
||||||
toast.success($_("import-finished"));
|
toast.success($_("import-finished"));
|
||||||
cancelModal();
|
cancelModal();
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
toast.dismiss();
|
toast.dismiss();
|
||||||
recent_processed = true;
|
recent_processed = true;
|
||||||
toast.error($_("error-during-import"));
|
toast.error($_("error-during-import"));
|
||||||
cancelModal();
|
cancelModal();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (opened_from === "TeamDetail") {
|
if (opened_from === "TeamDetail") {
|
||||||
ImportService.importControllerPostTeamsJson(passed_team.id, mapped)
|
ImportService.importControllerPostTeamsJson(passed_team.id, mapped)
|
||||||
.then((resp) => {
|
.then((resp) => {
|
||||||
toast.dismiss();
|
toast.dismiss();
|
||||||
recent_processed = true;
|
recent_processed = true;
|
||||||
toast.success($_("import-finished"));
|
toast.success($_("import-finished"));
|
||||||
cancelModal();
|
cancelModal();
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
toast.dismiss();
|
toast.dismiss();
|
||||||
recent_processed = true;
|
recent_processed = true;
|
||||||
toast.error($_("error-during-import"));
|
toast.error($_("error-during-import"));
|
||||||
cancelModal();
|
cancelModal();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (opened_from === "RunnerOverview") {
|
if (opened_from === "RunnerOverview") {
|
||||||
if (selected_org_or_team.includes("ORG_")) {
|
if (selected_org_or_team.includes("ORG_")) {
|
||||||
selected_org_or_team = selected_org_or_team.split("_")[1];
|
selected_org_or_team = selected_org_or_team.split("_")[1];
|
||||||
ImportService.importControllerPostOrgsJson(
|
ImportService.importControllerPostOrgsJson(
|
||||||
selected_org_or_team,
|
selected_org_or_team,
|
||||||
mapped
|
mapped
|
||||||
)
|
)
|
||||||
.then((resp) => {
|
.then((resp) => {
|
||||||
dispatch("created", { runners: resp });
|
dispatch("created", { runners: resp });
|
||||||
toast.dismiss();
|
toast.dismiss();
|
||||||
recent_processed = true;
|
recent_processed = true;
|
||||||
toast.success($_("import-finished"));
|
toast.success($_("import-finished"));
|
||||||
cancelModal();
|
cancelModal();
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
toast.dismiss();
|
toast.dismiss();
|
||||||
recent_processed = true;
|
recent_processed = true;
|
||||||
toast.error($_("error-during-import"));
|
toast.error($_("error-during-import"));
|
||||||
cancelModal();
|
cancelModal();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if (selected_org_or_team.includes("TEAM_")) {
|
if (selected_org_or_team.includes("TEAM_")) {
|
||||||
selected_org_or_team = selected_org_or_team.split("_")[1];
|
selected_org_or_team = selected_org_or_team.split("_")[1];
|
||||||
ImportService.importControllerPostTeamsJson(
|
ImportService.importControllerPostTeamsJson(
|
||||||
selected_org_or_team,
|
selected_org_or_team,
|
||||||
mapped
|
mapped
|
||||||
)
|
)
|
||||||
.then((resp) => {
|
.then((resp) => {
|
||||||
dispatch("created", { runners: resp });
|
dispatch("created", { runners: resp });
|
||||||
toast.dismiss();
|
toast.dismiss();
|
||||||
recent_processed = true;
|
recent_processed = true;
|
||||||
toast.success($_("import-finished"));
|
toast.success($_("import-finished"));
|
||||||
cancelModal();
|
cancelModal();
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
toast.dismiss();
|
toast.dismiss();
|
||||||
recent_processed = true;
|
recent_processed = true;
|
||||||
toast.error($_("error-during-import"));
|
toast.error($_("error-during-import"));
|
||||||
cancelModal();
|
cancelModal();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{#if import_modal_open}
|
{#if import_modal_open}
|
||||||
<div
|
<div
|
||||||
class="fixed z-10 inset-0 overflow-y-hidden"
|
class="fixed z-10 inset-0 overflow-y-hidden"
|
||||||
use:clickOutside
|
use:clickOutside
|
||||||
on:click_outside={() => {
|
on:click_outside={() => {
|
||||||
cancelModal();
|
cancelModal();
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<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 text-left shadow-xl transform transition-all sm:align-middle w-full lg:w-auto min-w-auto lg:min-w-[35vw]"
|
class="inline-block align-bottom text-left shadow-xl transform transition-all sm:align-middle w-full lg:w-auto min-w-auto lg:min-w-[35vw]"
|
||||||
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 rounded-t-xl lg:rounded-xl">
|
<div
|
||||||
<div class="">
|
class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl lg:rounded-xl"
|
||||||
<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"
|
<div class="">
|
||||||
>
|
<div
|
||||||
<svg
|
class="flex-shrink-0 flex items-center justify-center size-12 rounded-full bg-blue-100 sm:mx-0 sm:h-10 sm:w-10"
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
>
|
||||||
viewBox="0 0 24 24"
|
<svg
|
||||||
class="h-6 w-6 text-blue-600"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
fill="currentColor"
|
viewBox="0 0 24 24"
|
||||||
width="24"
|
class="h-6 w-6 text-blue-600"
|
||||||
height="24"
|
fill="currentColor"
|
||||||
><path fill="none" d="M0 0h24v24H0z" />
|
width="24"
|
||||||
<path
|
height="24"
|
||||||
d="M9.83 8.79L8 9.456V13H6V8.05h.015l5.268-1.918c.244-.093.51-.14.782-.131a2.616 2.616 0 0 1 2.427 1.82c.186.583.356.977.51 1.182A4.992 4.992 0 0 0 19 11v2a6.986 6.986 0 0 1-5.402-2.547l-.581 3.297L15 15.67V23h-2v-5.986l-2.05-1.987-.947 4.298-6.894-1.215.348-1.97 4.924.868L9.83 8.79zM13.5 5.5a2 2 0 1 1 0-4 2 2 0 0 1 0 4z"
|
><path fill="none" d="M0 0h24v24H0z" />
|
||||||
/></svg
|
<path
|
||||||
>
|
d="M9.83 8.79L8 9.456V13H6V8.05h.015l5.268-1.918c.244-.093.51-.14.782-.131a2.616 2.616 0 0 1 2.427 1.82c.186.583.356.977.51 1.182A4.992 4.992 0 0 0 19 11v2a6.986 6.986 0 0 1-5.402-2.547l-.581 3.297L15 15.67V23h-2v-5.986l-2.05-1.987-.947 4.298-6.894-1.215.348-1.97 4.924.868L9.83 8.79zM13.5 5.5a2 2 0 1 1 0-4 2 2 0 0 1 0 4z"
|
||||||
</div>
|
/></svg
|
||||||
<div class="mt-3 text-center sm:mt-0 sm:text-left w-full">
|
>
|
||||||
<h3 class="text-lg leading-6 font-bold mt-2 text-gray-900">
|
</div>
|
||||||
{$_("runner-import")}
|
<div class="mt-3 sm:mt-0 sm:text-left w-full">
|
||||||
</h3>
|
<h3 class="text-lg leading-6 font-bold mt-2 text-gray-900">
|
||||||
</div>
|
{$_("runner-import")}
|
||||||
</div>
|
</h3>
|
||||||
<div class="mt-5 text-center sm:mt-0 sm:text-left w-full">
|
</div>
|
||||||
{#if json_output.length === 0}
|
</div>
|
||||||
<div class="mt-2 mb-6">
|
<div class="sm:text-left w-full">
|
||||||
<p class="text-sm text-gray-500">
|
{#if json_output.length === 0}
|
||||||
{$_("please-provide-the-required-csv-xlsx-file")}
|
<div class="mb-6">
|
||||||
</p>
|
<p class="text-sm text-gray-500">
|
||||||
</div>
|
{$_("please-provide-the-required-csv-xlsx-file")}
|
||||||
<div class="overflow-hidden relative mt-4 mb-4">
|
</p>
|
||||||
<input
|
</div>
|
||||||
accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
<div class="overflow-hidden relative mt-4 mb-4">
|
||||||
bind:files
|
<input
|
||||||
type="file"
|
accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
||||||
/>
|
bind:files
|
||||||
</div>
|
type="file"
|
||||||
<div class="overflow-hidden relative mt-4 mb-4">
|
/>
|
||||||
<button
|
</div>
|
||||||
on:click={() => {
|
<div class="overflow-hidden relative mt-4 mb-4">
|
||||||
cancelModal();
|
<button
|
||||||
}}
|
on:click={() => {
|
||||||
type="button"
|
cancelModal();
|
||||||
class="w-full justify-center rounded-md border border-gray-300 shadow-sm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 hidden lg:block"
|
}}
|
||||||
>
|
type="button"
|
||||||
{$_("cancel")}
|
class="w-full justify-center rounded-md border border-gray-300 shadow-sm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 hidden lg:block"
|
||||||
</button>
|
>
|
||||||
</div>
|
{$_("cancel")}
|
||||||
{/if}
|
</button>
|
||||||
{#if json_output.length > 0}
|
</div>
|
||||||
{#if opened_from === "OrgOverview"}
|
{/if}
|
||||||
<p>{$_("import__target-organization")}</p>
|
{#if json_output.length > 0}
|
||||||
<select
|
{#if opened_from === "OrgOverview"}
|
||||||
name="team"
|
<p>{$_("import__target-organization")}</p>
|
||||||
bind:value={selected_org}
|
<select
|
||||||
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-neutral-800 rounded-md p-2"
|
name="team"
|
||||||
>
|
bind:value={selected_org}
|
||||||
{#each passed_orgs as o}
|
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-neutral-800 rounded-md p-2"
|
||||||
<option value={o.id}>{o.name}</option>
|
>
|
||||||
{/each}
|
{#each passed_orgs as o}
|
||||||
</select>
|
<option value={o.id}>{o.name}</option>
|
||||||
<p>{$_("confirm-runner-import")}</p>
|
{/each}
|
||||||
{/if}
|
</select>
|
||||||
{#if opened_from === "RunnerOverview"}
|
<p>{$_("confirm-runner-import")}</p>
|
||||||
<p>{$_("group")}</p>
|
{/if}
|
||||||
<Select
|
{#if opened_from === "RunnerOverview"}
|
||||||
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-neutral-800 rounded-md p-2"
|
<p>{$_("group")}</p>
|
||||||
itemFilter={(label, filterText, option) =>
|
<select
|
||||||
label.toLowerCase().includes(filterText.toLowerCase()) ||
|
bind:value={selected_org_or_team}
|
||||||
option.id.value
|
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-neutral-800 rounded-md p-2"
|
||||||
.toString()
|
>
|
||||||
.startsWith(filterText.toLowerCase())}
|
{#each groups as g}
|
||||||
items={groups}
|
<option value={g.value}>{g.label}</option>
|
||||||
showChevron={true}
|
{/each}
|
||||||
placeholder={$_(
|
</select>
|
||||||
"search-for-an-organization-or-team-by-name-or-id"
|
{/if}
|
||||||
)}
|
{#if opened_from === "OrgDetail"}
|
||||||
noOptionsMessage={$_("no-organization-or-team-found")}
|
<p>
|
||||||
on:select={(selectedValue) => {
|
{$_("runnerimport_verify_runners_org", {
|
||||||
selected_org_or_team = selectedValue.detail.value;
|
values: { org_name: passed_org.name },
|
||||||
}}
|
})}
|
||||||
on:clear={() => (selected_org_or_team = null)}
|
</p>
|
||||||
/>
|
{/if}
|
||||||
{/if}
|
<div class="relative w-full mt-4 mb-4">
|
||||||
{#if opened_from === "OrgDetail"}
|
<div class="w-full overflow-x-auto max-h-[50vh]">
|
||||||
<p>
|
<table class="divide-y divide-gray-200 w-full">
|
||||||
{$_("runnerimport_verify_runners_org", {
|
<thead class="bg-gray-50">
|
||||||
values: { org_name: passed_org.name },
|
<tr class="odd:bg-white even:bg-gray-100">
|
||||||
})}
|
<th
|
||||||
</p>
|
scope="col"
|
||||||
{/if}
|
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
||||||
<input
|
>
|
||||||
type="search"
|
{$_("csv_import__firstname")}
|
||||||
bind:value={searchvalue}
|
</th>
|
||||||
placeholder={$_("datatable.search")}
|
<th
|
||||||
aria-label={$_("datatable.search")}
|
scope="col"
|
||||||
class="p-2 w-full"
|
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
||||||
/>
|
>
|
||||||
<div class="relative w-full mt-4 mb-4">
|
{$_("csv_import__middlename")}
|
||||||
<div class="w-full overflow-x-auto">
|
</th>
|
||||||
<table class="divide-y divide-gray-200 w-full">
|
<th
|
||||||
<thead class="bg-gray-50">
|
scope="col"
|
||||||
<tr class="odd:bg-white even:bg-gray-100">
|
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
||||||
<th
|
>
|
||||||
scope="col"
|
{$_("csv_import__lastname")}
|
||||||
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
</th>
|
||||||
>
|
{#if (opened_from !== "TeamDetail" && opened_from !== "RunnerOverview") || (opened_from === "RunnerOverview" && selected_org_or_team.includes("ORG_"))}
|
||||||
{$_("csv_import__firstname")}
|
<th
|
||||||
</th>
|
scope="col"
|
||||||
<th
|
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
||||||
scope="col"
|
>
|
||||||
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
{$_("csv_import__team")}
|
||||||
>
|
</th>
|
||||||
{$_("csv_import__middlename")}
|
{/if}
|
||||||
</th>
|
</tr>
|
||||||
<th
|
</thead>
|
||||||
scope="col"
|
<tbody class="divide-y divide-gray-200">
|
||||||
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
{#each json_output as runner}
|
||||||
>
|
{#if Object.values(runner)
|
||||||
{$_("csv_import__lastname")}
|
.toString()
|
||||||
</th>
|
.toLowerCase()
|
||||||
{#if (opened_from !== "TeamDetail" && opened_from !== "RunnerOverview") || (opened_from === "RunnerOverview" && selected_org_or_team.includes("ORG_"))}
|
.includes(searchvalue)}
|
||||||
<th
|
<tr class="odd:bg-white even:bg-gray-100">
|
||||||
scope="col"
|
<td class="px-6 py-4 whitespace-nowrap">
|
||||||
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
{runner[`${$_("csv_import__firstname")}`]}
|
||||||
>
|
</td>
|
||||||
{$_("csv_import__team")}
|
<td class="px-6 py-4 whitespace-nowrap">
|
||||||
</th>
|
{runner[`${$_("csv_import__middlename")}`] || ""}
|
||||||
{/if}
|
</td>
|
||||||
</tr>
|
<td class="px-6 py-4 whitespace-nowrap">
|
||||||
</thead>
|
{runner[`${$_("csv_import__lastname")}`]}
|
||||||
<tbody class="divide-y divide-gray-200">
|
</td>
|
||||||
{#each json_output as runner}
|
{#if (opened_from !== "TeamDetail" && opened_from !== "RunnerOverview") || (opened_from === "RunnerOverview" && selected_org_or_team.includes("ORG_"))}
|
||||||
{#if Object.values(runner)
|
<td class="px-6 py-4 whitespace-nowrap">
|
||||||
.toString()
|
{runner[`${$_("csv_import__team")}`] ||
|
||||||
.toLowerCase()
|
runner[`${$_("csv_import__class")}`] ||
|
||||||
.includes(searchvalue)}
|
"---"}
|
||||||
<tr class="odd:bg-white even:bg-gray-100">
|
</td>
|
||||||
<td class="px-6 py-4 whitespace-nowrap">
|
{/if}
|
||||||
{runner[`${$_("csv_import__firstname")}`]}
|
</tr>
|
||||||
</td>
|
{/if}
|
||||||
<td class="px-6 py-4 whitespace-nowrap">
|
{/each}
|
||||||
{runner[`${$_("csv_import__middlename")}`] || ""}
|
</tbody>
|
||||||
</td>
|
</table>
|
||||||
<td class="px-6 py-4 whitespace-nowrap">
|
</div>
|
||||||
{runner[`${$_("csv_import__lastname")}`]}
|
<button
|
||||||
</td>
|
disabled={!importButtonEnabled}
|
||||||
{#if (opened_from !== "TeamDetail" && opened_from !== "RunnerOverview") || (opened_from === "RunnerOverview" && selected_org_or_team.includes("ORG_"))}
|
class:opacity-50={!importButtonEnabled}
|
||||||
<td class="px-6 py-4 whitespace-nowrap">
|
on:click={importAction}
|
||||||
{runner[`${$_("csv_import__team")}`] ||
|
type="button"
|
||||||
runner[`${$_("csv_import__class")}`] ||
|
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"
|
||||||
"---"}
|
>
|
||||||
</td>
|
{$_("import-runners")}
|
||||||
{/if}
|
</button>
|
||||||
</tr>
|
<button
|
||||||
{/if}
|
on:click={() => {
|
||||||
{/each}
|
cancelModal();
|
||||||
</tbody>
|
}}
|
||||||
</table>
|
type="button"
|
||||||
</div>
|
class="w-full inline-flex 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"
|
||||||
<button
|
>
|
||||||
disabled={!importButtonEnabled}
|
{$_("cancel")}
|
||||||
class:opacity-50={!importButtonEnabled}
|
</button>
|
||||||
on:click={importAction}
|
</div>
|
||||||
type="button"
|
{/if}
|
||||||
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"
|
</div>
|
||||||
>
|
</div>
|
||||||
{$_("import-runners")}
|
</div>
|
||||||
</button>
|
</div>
|
||||||
<button
|
</div>
|
||||||
on:click={() => {
|
|
||||||
cancelModal();
|
|
||||||
}}
|
|
||||||
type="button"
|
|
||||||
class="w-full inline-flex 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"
|
|
||||||
>
|
|
||||||
{$_("cancel")}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
{/if}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{/if}
|
{/if}
|
||||||
|
|||||||
@@ -180,6 +180,7 @@
|
|||||||
import store from "../../store";
|
import store from "../../store";
|
||||||
import AddRunnerModal from "./AddRunnerModal.svelte";
|
import AddRunnerModal from "./AddRunnerModal.svelte";
|
||||||
import ImportRunnerModal from "./ImportRunnerModal.svelte";
|
import ImportRunnerModal from "./ImportRunnerModal.svelte";
|
||||||
|
import toast from "svelte-french-toast";
|
||||||
$: current_runners = [];
|
$: current_runners = [];
|
||||||
export let modal_open = false;
|
export let modal_open = false;
|
||||||
export let import_modal_open = false;
|
export let import_modal_open = false;
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -96,7 +96,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -112,18 +112,18 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left">
|
<div class="mt-3">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("create-a-new-scan-fixed-only")}
|
{$_("create-a-new-scan-fixed-only")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_(
|
{$_(
|
||||||
"please-provide-the-nessecary-information-to-create-a-new-scan"
|
"please-provide-the-nessecary-information-to-create-a-new-scan"
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-6 gap-6 text-left">
|
<div class="grid grid-cols-6 gap-2 lg:gap-6 text-left">
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label
|
||||||
for="donor"
|
for="donor"
|
||||||
@@ -180,7 +180,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
disabled={!createbtnenabled}
|
disabled={!createbtnenabled}
|
||||||
class:opacity-50={!createbtnenabled}
|
class:opacity-50={!createbtnenabled}
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -61,7 +61,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-12 rounded-full bg-blue-100 sm:mx-0 sm:h-10 sm:w-10"
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
@@ -76,17 +76,17 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("please-confirm-the-deletion-of-scan")}
|
{$_("please-confirm-the-deletion-of-scan")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
#{delete_scan.id}
|
#{delete_scan.id}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
on:click={submit}
|
on:click={submit}
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
@@ -79,7 +79,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -100,7 +100,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -115,18 +115,18 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:mt-0 sm:text-left">
|
<div class="mt-3 sm:mt-0">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("create-a-new-scanstation")}
|
{$_("create-a-new-scanstation")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_(
|
{$_(
|
||||||
"please-provide-the-required-information-to-create-a-new-scanstation"
|
"please-provide-the-required-information-to-create-a-new-scanstation"
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-6 gap-6 text-left">
|
<div class="grid grid-cols-6 gap-2 lg:gap-6 text-left">
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label
|
||||||
for="track"
|
for="track"
|
||||||
@@ -188,7 +188,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
disabled={!createbtnenabled}
|
disabled={!createbtnenabled}
|
||||||
class:opacity-50={!createbtnenabled}
|
class:opacity-50={!createbtnenabled}
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
on:click_outside={cancelDelete}
|
on:click_outside={cancelDelete}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -62,11 +62,11 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("attention")}
|
{$_("attention")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_(
|
{$_(
|
||||||
"do-you-want-to-delete-this-donor-with-all-related-donations"
|
"do-you-want-to-delete-this-donor-with-all-related-donations"
|
||||||
@@ -78,7 +78,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
on:click={deleteStation}
|
on:click={deleteStation}
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
@@ -62,7 +62,7 @@
|
|||||||
{/if}
|
{/if}
|
||||||
<div class="fixed z-10 inset-0 overflow-y-hidden">
|
<div class="fixed z-10 inset-0 overflow-y-hidden">
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -83,7 +83,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -96,11 +96,11 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
|
||||||
<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="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"
|
||||||
@@ -109,7 +109,7 @@
|
|||||||
{$_("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="mb-6">
|
||||||
<label
|
<label
|
||||||
for="token"
|
for="token"
|
||||||
class="block text-sm font-medium text-gray-700"
|
class="block text-sm font-medium text-gray-700"
|
||||||
@@ -184,7 +184,7 @@
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
on:click={close}
|
on:click={close}
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
on:click_outside={cancelDelete}
|
on:click_outside={cancelDelete}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -63,11 +63,11 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("attention")}
|
{$_("attention")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_("do-you-really-want-to-delete-your-profile")}
|
{$_("do-you-really-want-to-delete-your-profile")}
|
||||||
<br />
|
<br />
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
on:click={deleteMe}
|
on:click={deleteMe}
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
<div class="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8">
|
<div class="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8">
|
||||||
<span class="text-3xl font-bold">{$_("settings")}</span>
|
<span class="text-3xl font-bold">{$_("settings")}</span>
|
||||||
<div>
|
<div>
|
||||||
<div class="md:grid md:grid-cols-3 md:gap-6">
|
<div class="md:grid md:grid-cols-3 md:gap-2 lg:gap-6">
|
||||||
<div class="md:col-span-1">
|
<div class="md:col-span-1">
|
||||||
<div class="sm:px-0">
|
<div class="sm:px-0">
|
||||||
<h3 class="text-lg font-medium leading-6 text-gray-900">
|
<h3 class="text-lg font-medium leading-6 text-gray-900">
|
||||||
@@ -174,7 +174,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8">
|
<div class="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8">
|
||||||
<div>
|
<div>
|
||||||
<div class="md:grid md:grid-cols-3 md:gap-6">
|
<div class="md:grid md:grid-cols-3 md:gap-2 lg:gap-6">
|
||||||
<div class="md:col-span-1">
|
<div class="md:col-span-1">
|
||||||
<div class="sm:px-0">
|
<div class="sm:px-0">
|
||||||
<h3 class="text-lg font-medium leading-6 text-gray-900">
|
<h3 class="text-lg font-medium leading-6 text-gray-900">
|
||||||
@@ -245,7 +245,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8">
|
<div class="max-w-7xl mx-auto py-6 px-4 sm:px-6 lg:px-8">
|
||||||
<div>
|
<div>
|
||||||
<div class="md:grid md:grid-cols-3 md:gap-6">
|
<div class="md:grid md:grid-cols-3 md:gap-2 lg:gap-6">
|
||||||
<div class="md:col-span-1">
|
<div class="md:col-span-1">
|
||||||
<div class="sm:px-0">
|
<div class="sm:px-0">
|
||||||
<h3 class="text-lg font-medium leading-6 text-gray-900">
|
<h3 class="text-lg font-medium leading-6 text-gray-900">
|
||||||
|
|||||||
@@ -65,7 +65,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -101,18 +101,18 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("create-a-new-statsclient")}
|
{$_("create-a-new-statsclient")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_(
|
{$_(
|
||||||
"please-provide-the-required-information-to-create-a-new-statsclient"
|
"please-provide-the-required-information-to-create-a-new-statsclient"
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-6 gap-6 text-left">
|
<div class="grid grid-cols-6 gap-2 lg:gap-6 text-left">
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label
|
||||||
for="description"
|
for="description"
|
||||||
@@ -133,7 +133,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
disabled={!createbtnenabled}
|
disabled={!createbtnenabled}
|
||||||
class:opacity-50={!createbtnenabled}
|
class:opacity-50={!createbtnenabled}
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
on:click_outside={cancelDelete}
|
on:click_outside={cancelDelete}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -61,11 +61,11 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<!-- <div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_('attention')}
|
{$_('attention')}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_(
|
{$_(
|
||||||
'do-you-want-to-delete-this-donor-with-all-related-donations'
|
'do-you-want-to-delete-this-donor-with-all-related-donations'
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
on:click={deleteClient}
|
on:click={deleteClient}
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
{/if}
|
{/if}
|
||||||
<div class="fixed z-10 inset-0 overflow-y-hidden">
|
<div class="fixed z-10 inset-0 overflow-y-hidden">
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -73,11 +73,11 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
|
||||||
<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="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"
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
{$_("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="mb-6">
|
||||||
<label
|
<label
|
||||||
for="token"
|
for="token"
|
||||||
class="block text-sm font-medium text-gray-700"
|
class="block text-sm font-medium text-gray-700"
|
||||||
@@ -123,7 +123,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
on:click={close}
|
on:click={close}
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
@@ -76,7 +76,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -97,7 +97,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -112,18 +112,18 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left">
|
<div class="mt-3">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("create-a-new-team")}
|
{$_("create-a-new-team")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_(
|
{$_(
|
||||||
"please-provide-the-required-information-to-add-a-new-team"
|
"please-provide-the-required-information-to-add-a-new-team"
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-6 gap-6 text-left">
|
<div class="grid grid-cols-6 gap-2 lg:gap-6 text-left">
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label
|
||||||
for="firstname"
|
for="firstname"
|
||||||
@@ -184,7 +184,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
disabled={!createbtnenabled}
|
disabled={!createbtnenabled}
|
||||||
class:opacity-50={!createbtnenabled}
|
class:opacity-50={!createbtnenabled}
|
||||||
|
|||||||
@@ -31,7 +31,7 @@
|
|||||||
on:click_outside={cancelDelete}
|
on:click_outside={cancelDelete}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -67,13 +67,13 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("do-you-want-to-delete-the-team-delete_team-name", {
|
{$_("do-you-want-to-delete-the-team-delete_team-name", {
|
||||||
values: { teamname: delete_team.name },
|
values: { teamname: delete_team.name },
|
||||||
})}
|
})}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_("all-associated-runners-will-be-deleted-too")}
|
{$_("all-associated-runners-will-be-deleted-too")}
|
||||||
</p>
|
</p>
|
||||||
@@ -81,7 +81,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
on:click={deleteTeam}
|
on:click={deleteTeam}
|
||||||
type="button"
|
type="button"
|
||||||
|
|||||||
@@ -74,7 +74,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -110,18 +110,18 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left max-h-[75vh] overflow-y-auto">
|
<div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("create-a-new-track")}
|
{$_("create-a-new-track")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_(
|
{$_(
|
||||||
"please-provide-the-required-information-to-add-a-new-track"
|
"please-provide-the-required-information-to-add-a-new-track"
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-6 gap-6 text-left">
|
<div class="grid grid-cols-6 gap-2 lg:gap-6 text-left">
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label
|
||||||
for="trackname"
|
for="trackname"
|
||||||
@@ -215,7 +215,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
disabled={!createbtnenabled}
|
disabled={!createbtnenabled}
|
||||||
class:opacity-50={!createbtnenabled}
|
class:opacity-50={!createbtnenabled}
|
||||||
|
|||||||
@@ -91,7 +91,7 @@
|
|||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="flex items-end justify-center min-h-screen text-center sm:block p-0 lg:p-4"
|
class="flex items-end justify-center h-screen text-center sm:block p-0 lg:p-4"
|
||||||
>
|
>
|
||||||
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
<div class="fixed inset-0 transition-opacity" aria-hidden="true">
|
||||||
<div
|
<div
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4 rounded-t-xl">
|
||||||
<div class="">
|
<div class="">
|
||||||
<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="flex-shrink-0 flex items-center justify-center size-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"
|
||||||
@@ -127,18 +127,18 @@
|
|||||||
/></svg
|
/></svg
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="mt-3 text-center sm:text-left">
|
<div class="mt-3">
|
||||||
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
<h3 class="text-lg leading-6 font-medium text-gray-900">
|
||||||
{$_("create-a-new-user")}
|
{$_("create-a-new-user")}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="mt-2 mb-6">
|
<div class="mb-6">
|
||||||
<p class="text-sm text-gray-500">
|
<p class="text-sm text-gray-500">
|
||||||
{$_(
|
{$_(
|
||||||
"please-provide-the-required-information-to-add-a-new-user"
|
"please-provide-the-required-information-to-add-a-new-user"
|
||||||
)}
|
)}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-6 gap-6 text-left">
|
<div class="grid grid-cols-6 gap-2 lg:gap-6 text-left">
|
||||||
<div class="col-span-6">
|
<div class="col-span-6">
|
||||||
<label
|
<label
|
||||||
for="firstname"
|
for="firstname"
|
||||||
@@ -272,7 +272,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bg-gray-50 px-4 py-3 sm:px-6 grid gap-2 lg:rounded-b-xl">
|
<div class="bg-gray-50 px-4 lg:py-3 sm:px-6 grid gap-2 lg:rounded-b-xl pt-3 pb-10">
|
||||||
<button
|
<button
|
||||||
disabled={!createbtnenabled}
|
disabled={!createbtnenabled}
|
||||||
class:opacity-50={!createbtnenabled}
|
class:opacity-50={!createbtnenabled}
|
||||||
|
|||||||
@@ -204,6 +204,7 @@
|
|||||||
"donors-are-being-loaded": "Sponsoren werden geladen",
|
"donors-are-being-loaded": "Sponsoren werden geladen",
|
||||||
"dont-have-your-email-connected": "Deine E-Mail ist nicht verknüpft?",
|
"dont-have-your-email-connected": "Deine E-Mail ist nicht verknüpft?",
|
||||||
"dont-panic-were-resetting-it": "Keine Panik, wir setzen es zurück ✌",
|
"dont-panic-were-resetting-it": "Keine Panik, wir setzen es zurück ✌",
|
||||||
|
"download_laeuft": "Download läuft...",
|
||||||
"e-mail-adress": "E-Mail-Adresse",
|
"e-mail-adress": "E-Mail-Adresse",
|
||||||
"edit": "Bearbeiten",
|
"edit": "Bearbeiten",
|
||||||
"edit-a-card": "Läuferkarte bearbeiten",
|
"edit-a-card": "Läuferkarte bearbeiten",
|
||||||
|
|||||||
@@ -204,6 +204,7 @@
|
|||||||
"donors-are-being-loaded": "donors are being loaded",
|
"donors-are-being-loaded": "donors are being loaded",
|
||||||
"dont-have-your-email-connected": "Don't have your email connected?",
|
"dont-have-your-email-connected": "Don't have your email connected?",
|
||||||
"dont-panic-were-resetting-it": "Don't panic, we're resetting it ✌",
|
"dont-panic-were-resetting-it": "Don't panic, we're resetting it ✌",
|
||||||
|
"download_laeuft": "Download in progress...",
|
||||||
"e-mail-adress": "E-Mail Adress",
|
"e-mail-adress": "E-Mail Adress",
|
||||||
"edit": "Edit",
|
"edit": "Edit",
|
||||||
"edit-a-card": "Edit a card",
|
"edit-a-card": "Edit a card",
|
||||||
|
|||||||
Reference in New Issue
Block a user