Compare commits
	
		
			13 Commits
		
	
	
		
			2139b197ba
			...
			1.13.5
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						e2a1c9a508
	
				 | 
					
					
						|||
| 
						
						
							
						
						06d22c929f
	
				 | 
					
					
						|||
| 
						
						
							
						
						650083965a
	
				 | 
					
					
						|||
| 
						
						
							
						
						bbf659e52d
	
				 | 
					
					
						|||
| 
						
						
							
						
						30a26ef3ed
	
				 | 
					
					
						|||
| 
						
						
							
						
						ca066aa7a7
	
				 | 
					
					
						|||
| 
						
						
							
						
						7d9314f05c
	
				 | 
					
					
						|||
| 
						
						
							
						
						3842d8b104
	
				 | 
					
					
						|||
| 
						
						
							
						
						a827279163
	
				 | 
					
					
						|||
| 
						
						
							
						
						b0063cdead
	
				 | 
					
					
						|||
| 
						
						
							
						
						9298a0dc92
	
				 | 
					
					
						|||
| 
						
						
							
						
						b9e2e65331
	
				 | 
					
					
						|||
| 
						
						
							
						
						27e7bbb9d1
	
				 | 
					
					
						
							
								
								
									
										23
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								CHANGELOG.md
									
									
									
									
									
								
							@@ -2,8 +2,31 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
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.13.5](https://git.odit.services/lfk/frontend/compare/1.13.4...1.13.5)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- add missing cursor-pointer [`6500839`](https://git.odit.services/lfk/frontend/commit/650083965a35cf3b05b6b67389ff8035dc5fa3fa)
 | 
				
			||||||
 | 
					- refactor(DonationsOverview): drop checkboxes - they dont do anything [`06d22c9`](https://git.odit.services/lfk/frontend/commit/06d22c929f94587d9bdbcb4abfc0a770cf94a771)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### [1.13.4](https://git.odit.services/lfk/frontend/compare/1.13.3...1.13.4)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> 20 May 2025
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- feat(donationcreate): improved focus handling [`a827279`](https://git.odit.services/lfk/frontend/commit/a82727916345c7e713d4225c4771ef3f23d1392c)
 | 
				
			||||||
 | 
					- chore(release): 1.13.4 [`bbf659e`](https://git.odit.services/lfk/frontend/commit/bbf659e52d249732fadb659fdbd24a89d2e8ec42)
 | 
				
			||||||
 | 
					- chore(deps): remove unused [`3842d8b`](https://git.odit.services/lfk/frontend/commit/3842d8b1048ce12f0f70bf3d0530590470f0d200)
 | 
				
			||||||
 | 
					- fix(donationcreate): clearing [`9298a0d`](https://git.odit.services/lfk/frontend/commit/9298a0dc922ee5ed5b7c9017c865ad4b68fca3c8)
 | 
				
			||||||
 | 
					- feat(donationcreate): autofocus runner input on page load [`b9e2e65`](https://git.odit.services/lfk/frontend/commit/b9e2e653310c686bc06b9f27c38b49e9c6a3eaef)
 | 
				
			||||||
 | 
					- fix(DonationCreate): remove duplicate spaces from getRunnerLabel [`30a26ef`](https://git.odit.services/lfk/frontend/commit/30a26ef3ed55d072cd9bf2aea1b200fadc2a05f1)
 | 
				
			||||||
 | 
					- fix(donationcreate): improved resetAll [`7d9314f`](https://git.odit.services/lfk/frontend/commit/7d9314f05c58c1b50901f3797c0b461c4c79e5d2)
 | 
				
			||||||
 | 
					- fix(DeleteDonationModal): cannot overflow [`ca066aa`](https://git.odit.services/lfk/frontend/commit/ca066aa7a7a8d7c46e0f59370b06636faf5736ca)
 | 
				
			||||||
 | 
					- feat(donationcreate): full width [`b0063cd`](https://git.odit.services/lfk/frontend/commit/b0063cdead5f71c334c36e5587a58e957825dbcd)
 | 
				
			||||||
 | 
					- feat(donationcreate): add runner id to select [`27e7bbb`](https://git.odit.services/lfk/frontend/commit/27e7bbb9d142fbea659e89fb2335cc6c567d14ce)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#### [1.13.3](https://git.odit.services/lfk/frontend/compare/1.13.2...1.13.3)
 | 
					#### [1.13.3](https://git.odit.services/lfk/frontend/compare/1.13.2...1.13.3)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					> 19 May 2025
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- chore(release): 1.13.3 [`2139b19`](https://git.odit.services/lfk/frontend/commit/2139b197ba672275e2a0b5ffbcf7fa43f80874e6)
 | 
				
			||||||
- Refactor code structure for improved readability and maintainability [`e3c6d5a`](https://git.odit.services/lfk/frontend/commit/e3c6d5a5c0eaac2c91432b0be37d6fa11e57f644)
 | 
					- Refactor code structure for improved readability and maintainability [`e3c6d5a`](https://git.odit.services/lfk/frontend/commit/e3c6d5a5c0eaac2c91432b0be37d6fa11e57f644)
 | 
				
			||||||
- refactor(donation): Refactor donor selection and add new donor creation functionality [`8c3f009`](https://git.odit.services/lfk/frontend/commit/8c3f0092d2735b1c85976f4e6955780b1035f68a)
 | 
					- refactor(donation): Refactor donor selection and add new donor creation functionality [`8c3f009`](https://git.odit.services/lfk/frontend/commit/8c3f0092d2735b1c85976f4e6955780b1035f68a)
 | 
				
			||||||
- fix(donation): Ensure all selections are cleared on reset [`4e1a944`](https://git.odit.services/lfk/frontend/commit/4e1a944a2d7d0d0666fb8d2181a9941d0f11957f)
 | 
					- fix(donation): Ensure all selections are cleared on reset [`4e1a944`](https://git.odit.services/lfk/frontend/commit/4e1a944a2d7d0d0666fb8d2181a9941d0f11957f)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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.13.3-RELEASE_INFO</span
 | 
					      >RELEASE_INFO-1.13.5-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.13.3",
 | 
					  "version": "1.13.5",
 | 
				
			||||||
  "type": "module",
 | 
					  "type": "module",
 | 
				
			||||||
  "scripts": {
 | 
					  "scripts": {
 | 
				
			||||||
    "i18n-order": "node order.js",
 | 
					    "i18n-order": "node order.js",
 | 
				
			||||||
@@ -52,7 +52,6 @@
 | 
				
			|||||||
    "html5-qrcode": "^2.3.8",
 | 
					    "html5-qrcode": "^2.3.8",
 | 
				
			||||||
    "localforage": "1.10.0",
 | 
					    "localforage": "1.10.0",
 | 
				
			||||||
    "papaparse": "^5.5.2",
 | 
					    "papaparse": "^5.5.2",
 | 
				
			||||||
    "svelecte": "3",
 | 
					 | 
				
			||||||
    "svelte": "3.58.0",
 | 
					    "svelte": "3.58.0",
 | 
				
			||||||
    "svelte-french-toast": "1.2.0",
 | 
					    "svelte-french-toast": "1.2.0",
 | 
				
			||||||
    "svelte-i18n": "4.0.1",
 | 
					    "svelte-i18n": "4.0.1",
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										15
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										15
									
								
								pnpm-lock.yaml
									
									
									
										generated
									
									
									
								
							@@ -38,9 +38,6 @@ importers:
 | 
				
			|||||||
      papaparse:
 | 
					      papaparse:
 | 
				
			||||||
        specifier: ^5.5.2
 | 
					        specifier: ^5.5.2
 | 
				
			||||||
        version: 5.5.2
 | 
					        version: 5.5.2
 | 
				
			||||||
      svelecte:
 | 
					 | 
				
			||||||
        specifier: '3'
 | 
					 | 
				
			||||||
        version: 3.17.3
 | 
					 | 
				
			||||||
      svelte:
 | 
					      svelte:
 | 
				
			||||||
        specifier: 3.58.0
 | 
					        specifier: 3.58.0
 | 
				
			||||||
        version: 3.58.0
 | 
					        version: 3.58.0
 | 
				
			||||||
@@ -1986,9 +1983,6 @@ packages:
 | 
				
			|||||||
    resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
 | 
					    resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
 | 
				
			||||||
    engines: {node: '>= 0.4'}
 | 
					    engines: {node: '>= 0.4'}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  svelecte@3.17.3:
 | 
					 | 
				
			||||||
    resolution: {integrity: sha512-wnvoRxJIFFkm+CmXgjL4R3i/TcuYUIBkE+jDJSBD7AdSOzk1K6u3+nW4zwxaGT29zyZpiZkWeiy7lO62r5F+tg==}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  svelte-french-toast@1.2.0:
 | 
					  svelte-french-toast@1.2.0:
 | 
				
			||||||
    resolution: {integrity: sha512-5PW+6RFX3xQPbR44CngYAP1Sd9oCq9P2FOox4FZffzJuZI2mHOB7q5gJBVnOiLF5y3moVGZ7u2bYt7+yPAgcEQ==}
 | 
					    resolution: {integrity: sha512-5PW+6RFX3xQPbR44CngYAP1Sd9oCq9P2FOox4FZffzJuZI2mHOB7q5gJBVnOiLF5y3moVGZ7u2bYt7+yPAgcEQ==}
 | 
				
			||||||
    peerDependencies:
 | 
					    peerDependencies:
 | 
				
			||||||
@@ -2010,9 +2004,6 @@ packages:
 | 
				
			|||||||
  svelte-select@3.17.0:
 | 
					  svelte-select@3.17.0:
 | 
				
			||||||
    resolution: {integrity: sha512-ITmX/XUiSdkaILmsTviKRkZPaXckM5/FA7Y8BhiUPoamaZG/ZDyOo6ydjFu9fDVFTbwoAUGUi6HBjs+ZdK2AwA==}
 | 
					    resolution: {integrity: sha512-ITmX/XUiSdkaILmsTviKRkZPaXckM5/FA7Y8BhiUPoamaZG/ZDyOo6ydjFu9fDVFTbwoAUGUi6HBjs+ZdK2AwA==}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  svelte-tiny-virtual-list@2.1.2:
 | 
					 | 
				
			||||||
    resolution: {integrity: sha512-jeP/WMvgFUR4mYXHGPiCexjX5DuzSO+3xzHNhxfcsFyy+uYPtnqI5UGb383swpzQAyXB0OBqYfzpYihD/5gxnA==}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  svelte-writable-derived@3.1.1:
 | 
					  svelte-writable-derived@3.1.1:
 | 
				
			||||||
    resolution: {integrity: sha512-w4LR6/bYZEuCs7SGr+M54oipk/UQKtiMadyOhW0PTwAtJ/Ai12QS77sLngEcfBx2q4H8ZBQucc9ktSA5sUGZWw==}
 | 
					    resolution: {integrity: sha512-w4LR6/bYZEuCs7SGr+M54oipk/UQKtiMadyOhW0PTwAtJ/Ai12QS77sLngEcfBx2q4H8ZBQucc9ktSA5sUGZWw==}
 | 
				
			||||||
    peerDependencies:
 | 
					    peerDependencies:
 | 
				
			||||||
@@ -3955,10 +3946,6 @@ snapshots:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  supports-preserve-symlinks-flag@1.0.0: {}
 | 
					  supports-preserve-symlinks-flag@1.0.0: {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  svelecte@3.17.3:
 | 
					 | 
				
			||||||
    dependencies:
 | 
					 | 
				
			||||||
      svelte-tiny-virtual-list: 2.1.2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  svelte-french-toast@1.2.0(svelte@3.58.0):
 | 
					  svelte-french-toast@1.2.0(svelte@3.58.0):
 | 
				
			||||||
    dependencies:
 | 
					    dependencies:
 | 
				
			||||||
      svelte: 3.58.0
 | 
					      svelte: 3.58.0
 | 
				
			||||||
@@ -3981,8 +3968,6 @@ snapshots:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  svelte-select@3.17.0: {}
 | 
					  svelte-select@3.17.0: {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  svelte-tiny-virtual-list@2.1.2: {}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  svelte-writable-derived@3.1.1(svelte@3.58.0):
 | 
					  svelte-writable-derived@3.1.1(svelte@3.58.0):
 | 
				
			||||||
    dependencies:
 | 
					    dependencies:
 | 
				
			||||||
      svelte: 3.58.0
 | 
					      svelte: 3.58.0
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -180,7 +180,7 @@
 | 
				
			|||||||
              modal_open = false;
 | 
					              modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -189,7 +189,7 @@
 | 
				
			|||||||
              edit_modal_open = false;
 | 
					              edit_modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -103,7 +103,7 @@
 | 
				
			|||||||
          <button
 | 
					          <button
 | 
				
			||||||
            on:click={submit}
 | 
					            on:click={submit}
 | 
				
			||||||
            type="button"
 | 
					            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"
 | 
					            class="confirm_deletion_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("delete")}
 | 
					            {$_("delete")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
@@ -112,7 +112,7 @@
 | 
				
			|||||||
              modal_open = false;
 | 
					              modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -469,7 +469,7 @@
 | 
				
			|||||||
              modal_open = false;
 | 
					              modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -194,7 +194,7 @@
 | 
				
			|||||||
              payment_modal_open = false;
 | 
					              payment_modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -81,7 +81,7 @@
 | 
				
			|||||||
                /></svg
 | 
					                /></svg
 | 
				
			||||||
              >
 | 
					              >
 | 
				
			||||||
            </div>
 | 
					            </div>
 | 
				
			||||||
            <div class="mt-3 sm:text-left max-h-[75vh] overflow-y-auto">
 | 
					            <div class="mt-3 sm:text-left max-h-[75vh]">
 | 
				
			||||||
              <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>
 | 
				
			||||||
@@ -102,7 +102,7 @@
 | 
				
			|||||||
          <button
 | 
					          <button
 | 
				
			||||||
            on:click={submit}
 | 
					            on:click={submit}
 | 
				
			||||||
            type="button"
 | 
					            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"
 | 
					            class="confirm_deletion_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("delete")}
 | 
					            {$_("delete")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
@@ -111,7 +111,7 @@
 | 
				
			|||||||
              modal_open = false;
 | 
					              modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,13 +10,15 @@
 | 
				
			|||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
{#if paymentAction}
 | 
					{#if paymentAction}
 | 
				
			||||||
<button
 | 
						<button
 | 
				
			||||||
		on:click={paymentAction}
 | 
							on:click={paymentAction}
 | 
				
			||||||
  class="text-[#025a21] hover:text-green-900 mr-4">{$_("enter-payment")}</button
 | 
							class="text-[#025a21] cursor-pointer hover:text-green-900 mr-4"
 | 
				
			||||||
>
 | 
							>{$_("enter-payment")}</button
 | 
				
			||||||
 | 
						>
 | 
				
			||||||
{:else}
 | 
					{:else}
 | 
				
			||||||
<span class="inline-block opacity-0 cursor-default mr-4" style="">{$_("enter-payment")}</span>
 | 
						<span class="inline-block opacity-0 cursor-default mr-4" style=""
 | 
				
			||||||
 | 
							>{$_("enter-payment")}</span
 | 
				
			||||||
 | 
						>
 | 
				
			||||||
{/if}
 | 
					{/if}
 | 
				
			||||||
<TableActions
 | 
					<TableActions
 | 
				
			||||||
	bind:detailsAction
 | 
						bind:detailsAction
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -247,14 +247,6 @@
 | 
				
			|||||||
        <thead class="border-b border-gray-400">
 | 
					        <thead class="border-b border-gray-400">
 | 
				
			||||||
          {#each $table.getHeaderGroups() as headerGroup}
 | 
					          {#each $table.getHeaderGroups() as headerGroup}
 | 
				
			||||||
            <tr class="select-none">
 | 
					            <tr class="select-none">
 | 
				
			||||||
              <th class="inset-y-0 left-0 px-4 py-2 text-left w-px">
 | 
					 | 
				
			||||||
                <InputElement
 | 
					 | 
				
			||||||
                  type="checkbox"
 | 
					 | 
				
			||||||
                  checked={$table.getIsAllRowsSelected()}
 | 
					 | 
				
			||||||
                  indeterminate={$table.getIsSomeRowsSelected()}
 | 
					 | 
				
			||||||
                  on:change={() => $table.toggleAllRowsSelected()}
 | 
					 | 
				
			||||||
                />
 | 
					 | 
				
			||||||
              </th>
 | 
					 | 
				
			||||||
              {#each headerGroup.headers as header}
 | 
					              {#each headerGroup.headers as header}
 | 
				
			||||||
                <TableHeader {header} />
 | 
					                <TableHeader {header} />
 | 
				
			||||||
              {/each}
 | 
					              {/each}
 | 
				
			||||||
@@ -264,13 +256,6 @@
 | 
				
			|||||||
        <tbody>
 | 
					        <tbody>
 | 
				
			||||||
          {#each $table.getRowModel().rows as row}
 | 
					          {#each $table.getRowModel().rows as row}
 | 
				
			||||||
            <tr class="odd:bg-white even:bg-gray-100">
 | 
					            <tr class="odd:bg-white even:bg-gray-100">
 | 
				
			||||||
              <td class="inset-y-0 left-0 px-4 py-2 text-center w-px">
 | 
					 | 
				
			||||||
                <InputElement
 | 
					 | 
				
			||||||
                  type="checkbox"
 | 
					 | 
				
			||||||
                  checked={row.getIsSelected()}
 | 
					 | 
				
			||||||
                  on:change={() => row.toggleSelected()}
 | 
					 | 
				
			||||||
                />
 | 
					 | 
				
			||||||
              </td>
 | 
					 | 
				
			||||||
              {#each row.getVisibleCells() as cell}
 | 
					              {#each row.getVisibleCells() as cell}
 | 
				
			||||||
                <td>
 | 
					                <td>
 | 
				
			||||||
                  <svelte:component
 | 
					                  <svelte:component
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -433,7 +433,7 @@
 | 
				
			|||||||
              modal_open = false;
 | 
					              modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -72,14 +72,14 @@
 | 
				
			|||||||
					<button
 | 
										<button
 | 
				
			||||||
						on:click={deleteDonor}
 | 
											on:click={deleteDonor}
 | 
				
			||||||
						type="button"
 | 
											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"
 | 
											class="confirm_deletion_button"
 | 
				
			||||||
					>
 | 
										>
 | 
				
			||||||
						{$_("confirm-delete-donor-with-all-donations")}
 | 
											{$_("confirm-delete-donor-with-all-donations")}
 | 
				
			||||||
					</button>
 | 
										</button>
 | 
				
			||||||
					<button
 | 
										<button
 | 
				
			||||||
						on:click={cancelDelete}
 | 
											on:click={cancelDelete}
 | 
				
			||||||
						type="button"
 | 
											type="button"
 | 
				
			||||||
						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"
 | 
											class="cancel_modal_button"
 | 
				
			||||||
					>
 | 
										>
 | 
				
			||||||
						{$_("cancel-keep-donor")}
 | 
											{$_("cancel-keep-donor")}
 | 
				
			||||||
					</button>
 | 
										</button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -174,7 +174,7 @@
 | 
				
			|||||||
              modal_open = false;
 | 
					              modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -294,7 +294,7 @@
 | 
				
			|||||||
              modal_open = false;
 | 
					              modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -86,14 +86,14 @@
 | 
				
			|||||||
					<button
 | 
										<button
 | 
				
			||||||
						on:click={deleteOrg}
 | 
											on:click={deleteOrg}
 | 
				
			||||||
						type="button"
 | 
											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"
 | 
											class="confirm_deletion_button"
 | 
				
			||||||
					>
 | 
										>
 | 
				
			||||||
						{$_("confirm-delete-organization-and-associated-teams-runners")}
 | 
											{$_("confirm-delete-organization-and-associated-teams-runners")}
 | 
				
			||||||
					</button>
 | 
										</button>
 | 
				
			||||||
					<button
 | 
										<button
 | 
				
			||||||
						on:click={cancelDelete}
 | 
											on:click={cancelDelete}
 | 
				
			||||||
						type="button"
 | 
											type="button"
 | 
				
			||||||
						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"
 | 
											class="cancel_modal_button"
 | 
				
			||||||
					>
 | 
										>
 | 
				
			||||||
						{$_("cancel-keep-organization")}
 | 
											{$_("cancel-keep-organization")}
 | 
				
			||||||
					</button>
 | 
										</button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -338,7 +338,7 @@
 | 
				
			|||||||
              modal_open = false;
 | 
					              modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -90,7 +90,7 @@
 | 
				
			|||||||
          <button
 | 
					          <button
 | 
				
			||||||
            on:click={submit}
 | 
					            on:click={submit}
 | 
				
			||||||
            type="button"
 | 
					            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"
 | 
					            class="confirm_deletion_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("delete")}
 | 
					            {$_("delete")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
@@ -99,7 +99,7 @@
 | 
				
			|||||||
              modal_open = false;
 | 
					              modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -261,7 +261,7 @@
 | 
				
			|||||||
										cancelModal();
 | 
															cancelModal();
 | 
				
			||||||
									}}
 | 
														}}
 | 
				
			||||||
									type="button"
 | 
														type="button"
 | 
				
			||||||
									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"
 | 
														class="cancel_modal_button"
 | 
				
			||||||
								>
 | 
													>
 | 
				
			||||||
									{$_("cancel")}
 | 
														{$_("cancel")}
 | 
				
			||||||
								</button>
 | 
													</button>
 | 
				
			||||||
@@ -375,7 +375,7 @@
 | 
				
			|||||||
										cancelModal();
 | 
															cancelModal();
 | 
				
			||||||
									}}
 | 
														}}
 | 
				
			||||||
									type="button"
 | 
														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"
 | 
														class="confirm_deletion_button"
 | 
				
			||||||
								>
 | 
													>
 | 
				
			||||||
									{$_("cancel")}
 | 
														{$_("cancel")}
 | 
				
			||||||
								</button>
 | 
													</button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -195,7 +195,7 @@
 | 
				
			|||||||
              modal_open = false;
 | 
					              modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -90,7 +90,7 @@
 | 
				
			|||||||
          <button
 | 
					          <button
 | 
				
			||||||
            on:click={submit}
 | 
					            on:click={submit}
 | 
				
			||||||
            type="button"
 | 
					            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"
 | 
					            class="confirm_deletion_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("delete")}
 | 
					            {$_("delete")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
@@ -99,7 +99,7 @@
 | 
				
			|||||||
              modal_open = false;
 | 
					              modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -203,7 +203,7 @@
 | 
				
			|||||||
              modal_open = false;
 | 
					              modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -82,14 +82,14 @@
 | 
				
			|||||||
          <button
 | 
					          <button
 | 
				
			||||||
            on:click={deleteStation}
 | 
					            on:click={deleteStation}
 | 
				
			||||||
            type="button"
 | 
					            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"
 | 
					            class="confirm_deletion_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("confirm-delete-station-with-all-scans")}
 | 
					            {$_("confirm-delete-station-with-all-scans")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
          <button
 | 
					          <button
 | 
				
			||||||
            on:click={cancelDelete}
 | 
					            on:click={cancelDelete}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel-keep-station")}
 | 
					            {$_("cancel-keep-station")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -85,14 +85,14 @@
 | 
				
			|||||||
          <button
 | 
					          <button
 | 
				
			||||||
            on:click={deleteMe}
 | 
					            on:click={deleteMe}
 | 
				
			||||||
            type="button"
 | 
					            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"
 | 
					            class="confirm_deletion_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("confirm-delete-my-user-profile")}
 | 
					            {$_("confirm-delete-my-user-profile")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
          <button
 | 
					          <button
 | 
				
			||||||
            on:click={cancelDelete}
 | 
					            on:click={cancelDelete}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel-keep-my-profile")}
 | 
					            {$_("cancel-keep-my-profile")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -148,7 +148,7 @@
 | 
				
			|||||||
              modal_open = false;
 | 
					              modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -81,14 +81,14 @@
 | 
				
			|||||||
          <button
 | 
					          <button
 | 
				
			||||||
            on:click={deleteClient}
 | 
					            on:click={deleteClient}
 | 
				
			||||||
            type="button"
 | 
					            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"
 | 
					            class="confirm_deletion_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("confirm-delete-statsclient")}
 | 
					            {$_("confirm-delete-statsclient")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
          <button
 | 
					          <button
 | 
				
			||||||
            on:click={cancelDelete}
 | 
					            on:click={cancelDelete}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel-keep-statsclient")}
 | 
					            {$_("cancel-keep-statsclient")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -199,7 +199,7 @@
 | 
				
			|||||||
              modal_open = false;
 | 
					              modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -85,14 +85,14 @@
 | 
				
			|||||||
					<button
 | 
										<button
 | 
				
			||||||
						on:click={deleteTeam}
 | 
											on:click={deleteTeam}
 | 
				
			||||||
						type="button"
 | 
											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"
 | 
											class="confirm_deletion_button"
 | 
				
			||||||
					>
 | 
										>
 | 
				
			||||||
						{$_("confirm-delete-team-and-associated-runners")}
 | 
											{$_("confirm-delete-team-and-associated-runners")}
 | 
				
			||||||
					</button>
 | 
										</button>
 | 
				
			||||||
					<button
 | 
										<button
 | 
				
			||||||
						on:click={cancelDelete}
 | 
											on:click={cancelDelete}
 | 
				
			||||||
						type="button"
 | 
											type="button"
 | 
				
			||||||
						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"
 | 
											class="cancel_modal_button"
 | 
				
			||||||
					>
 | 
										>
 | 
				
			||||||
						{$_("cancel-keep-team")}
 | 
											{$_("cancel-keep-team")}
 | 
				
			||||||
					</button>
 | 
										</button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,6 +7,7 @@
 | 
				
			|||||||
  } from "@odit/lfk-client-js";
 | 
					  } from "@odit/lfk-client-js";
 | 
				
			||||||
  import Select from "svelte-select";
 | 
					  import Select from "svelte-select";
 | 
				
			||||||
  import toast from "svelte-french-toast";
 | 
					  import toast from "svelte-french-toast";
 | 
				
			||||||
 | 
						import { onMount } from "svelte";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  let runners = [];
 | 
					  let runners = [];
 | 
				
			||||||
  let donors = [];
 | 
					  let donors = [];
 | 
				
			||||||
@@ -19,7 +20,7 @@
 | 
				
			|||||||
    postalcode: "",
 | 
					    postalcode: "",
 | 
				
			||||||
    country: "Germany",
 | 
					    country: "Germany",
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
  let amount = 0;
 | 
					  let amount = null;
 | 
				
			||||||
  let address_checked = false;
 | 
					  let address_checked = false;
 | 
				
			||||||
  let donor_create_new = false;
 | 
					  let donor_create_new = false;
 | 
				
			||||||
  let last_created = null;
 | 
					  let last_created = null;
 | 
				
			||||||
@@ -51,8 +52,9 @@
 | 
				
			|||||||
  }
 | 
					  }
 | 
				
			||||||
  loadDonors();
 | 
					  loadDonors();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const getRunnerLabel = (option) =>
 | 
					  const getRunnerLabel = (option) => {
 | 
				
			||||||
    option.firstname + " " + (option.middlename || "") + " " + option.lastname;
 | 
					    return [option.firstname,option.middlename,option.lastname].join(" ").replace("  "," ") + " [#"+option.id+"]";
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  const filterRunners = (label, filterText, option) => {
 | 
					  const filterRunners = (label, filterText, option) => {
 | 
				
			||||||
    if (filterText.startsWith("#")) {
 | 
					    if (filterText.startsWith("#")) {
 | 
				
			||||||
@@ -67,21 +69,28 @@
 | 
				
			|||||||
  function resetAll() {
 | 
					  function resetAll() {
 | 
				
			||||||
    runnerinfo = { id: 0, firstname: "", lastname: "" };
 | 
					    runnerinfo = { id: 0, firstname: "", lastname: "" };
 | 
				
			||||||
    donorinfo = { id: 0, firstname: "", lastname: "" };
 | 
					    donorinfo = { id: 0, firstname: "", lastname: "" };
 | 
				
			||||||
    amount = 0;
 | 
					    amount = null;
 | 
				
			||||||
    address_checked = false;
 | 
					    address_checked = false;
 | 
				
			||||||
    donor_create_new = false;
 | 
					    donor_create_new = false;
 | 
				
			||||||
    const clears = document.getElementsByClassName("clearSelect");
 | 
					    const clears = document.querySelectorAll(".clearSelect");
 | 
				
			||||||
    for (let i = 0; i < clears.length; i++) {
 | 
					    clears.forEach(c => {
 | 
				
			||||||
      clears[i].click();
 | 
					      c.click();
 | 
				
			||||||
    }
 | 
					    });
 | 
				
			||||||
 | 
					    setTimeout(() => {
 | 
				
			||||||
 | 
					      document.querySelector("#wrapper_runner_select input").focus();
 | 
				
			||||||
 | 
					    }, 50);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  onMount(() => {
 | 
				
			||||||
 | 
					    document.querySelector("#wrapper_runner_select input").focus();
 | 
				
			||||||
 | 
					  })
 | 
				
			||||||
</script>
 | 
					</script>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<div class="p-4">
 | 
					<div class="p-4">
 | 
				
			||||||
  <h3 class="text-3xl font-bold">{$_("fast_donation_create")}</h3>
 | 
					  <h3 class="text-3xl font-bold">{$_("fast_donation_create")}</h3>
 | 
				
			||||||
  <!--  -->
 | 
					  <!--  -->
 | 
				
			||||||
  <div>
 | 
					  <div>
 | 
				
			||||||
    <div class="w-full max-w-md space-y-4 mb-6">
 | 
					    <div class="w-full space-y-4 mb-6">
 | 
				
			||||||
      {#if last_created}
 | 
					      {#if last_created}
 | 
				
			||||||
        <div class="mt-4 p-3 bg-green-50 border border-green-200 rounded-md">
 | 
					        <div class="mt-4 p-3 bg-green-50 border border-green-200 rounded-md">
 | 
				
			||||||
          <p class="text-black">
 | 
					          <p class="text-black">
 | 
				
			||||||
@@ -94,7 +103,7 @@
 | 
				
			|||||||
      {/if}
 | 
					      {/if}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      <!-- Runner Selection -->
 | 
					      <!-- Runner Selection -->
 | 
				
			||||||
      <div>
 | 
					      <div id="wrapper_runner_select">
 | 
				
			||||||
        <h4 class="text-xl font-semibold">{$_("runner")}</h4>
 | 
					        <h4 class="text-xl font-semibold">{$_("runner")}</h4>
 | 
				
			||||||
        <Select
 | 
					        <Select
 | 
				
			||||||
          containerClasses="rounded-md mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm sm:text-sm border-gray-300 border bg-gray-50 text-neutral-800 rounded-md p-2"
 | 
					          containerClasses="rounded-md mt-1 focus:ring-indigo-500 focus:border-indigo-500 block w-full shadow-sm sm:text-sm border-gray-300 border bg-gray-50 text-neutral-800 rounded-md p-2"
 | 
				
			||||||
@@ -106,6 +115,7 @@
 | 
				
			|||||||
          noOptionsMessage={$_("no-runners-found")}
 | 
					          noOptionsMessage={$_("no-runners-found")}
 | 
				
			||||||
          on:select={(selectedValue) => {
 | 
					          on:select={(selectedValue) => {
 | 
				
			||||||
            runnerinfo = selectedValue.detail.value;
 | 
					            runnerinfo = selectedValue.detail.value;
 | 
				
			||||||
 | 
					            document.querySelector("#donation_amount_eur").focus();
 | 
				
			||||||
          }}
 | 
					          }}
 | 
				
			||||||
          on:clear={() => (runnerinfo = { id: 0, firstname: "", lastname: "" })}
 | 
					          on:clear={() => (runnerinfo = { id: 0, firstname: "", lastname: "" })}
 | 
				
			||||||
        />
 | 
					        />
 | 
				
			||||||
@@ -121,11 +131,19 @@
 | 
				
			|||||||
            class:focus:border-red-500={!amount > 0}
 | 
					            class:focus:border-red-500={!amount > 0}
 | 
				
			||||||
            class:focus:ring-red-500={!amount > 0}
 | 
					            class:focus:ring-red-500={!amount > 0}
 | 
				
			||||||
            bind:value={amount}
 | 
					            bind:value={amount}
 | 
				
			||||||
 | 
					            on:keydown={(e)=>
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              if(e.key==="Enter"){
 | 
				
			||||||
 | 
					                e.preventDefault();
 | 
				
			||||||
 | 
					                document.querySelector("#button_existing_donor").focus();
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            }}
 | 
				
			||||||
            type="number"
 | 
					            type="number"
 | 
				
			||||||
            step="0.01"
 | 
					            step="0.01"
 | 
				
			||||||
 | 
					            id="donation_amount_eur"
 | 
				
			||||||
            name="donation_amount_eur"
 | 
					            name="donation_amount_eur"
 | 
				
			||||||
            class="focus:ring-indigo-500 focus:border-indigo-500 flex-1 block w-full rounded-none rounded-l-md sm:text-sm border-neutral-300 border bg-neutral-50 text-neutral-800 p-2"
 | 
					            class="focus:ring-indigo-500 focus:border-indigo-500 flex-1 block w-full rounded-none rounded-l-md sm:text-sm border-neutral-300 border bg-neutral-50 text-neutral-800 p-2"
 | 
				
			||||||
            placeholder="2.00"
 | 
					            placeholder="z.B. 1,50"
 | 
				
			||||||
          />
 | 
					          />
 | 
				
			||||||
          <span
 | 
					          <span
 | 
				
			||||||
            class="inline-flex items-center px-3 rounded-r-md border border-neutral-300 bg-neutral-50 text-neutral-500 text-sm"
 | 
					            class="inline-flex items-center px-3 rounded-r-md border border-neutral-300 bg-neutral-50 text-neutral-500 text-sm"
 | 
				
			||||||
@@ -142,6 +160,15 @@
 | 
				
			|||||||
        <div class="mb-2">
 | 
					        <div class="mb-2">
 | 
				
			||||||
          <div class="flex border rounded-md overflow-hidden shadow-sm">
 | 
					          <div class="flex border rounded-md overflow-hidden shadow-sm">
 | 
				
			||||||
            <button
 | 
					            <button
 | 
				
			||||||
 | 
					            on:keydown={(e)=>
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					              if(e.key==="ArrowRight"){
 | 
				
			||||||
 | 
					                e.preventDefault();
 | 
				
			||||||
 | 
					                document.querySelector("#button_new_donor").focus();
 | 
				
			||||||
 | 
					                document.querySelector("#button_new_donor").click();
 | 
				
			||||||
 | 
					              }
 | 
				
			||||||
 | 
					            }}
 | 
				
			||||||
 | 
					            id="button_existing_donor"
 | 
				
			||||||
            class:bg-indigo-600={!donor_create_new}
 | 
					            class:bg-indigo-600={!donor_create_new}
 | 
				
			||||||
            class:text-white={!donor_create_new}
 | 
					            class:text-white={!donor_create_new}
 | 
				
			||||||
            class="py-2 px-4 w-1/2 transition-colors"
 | 
					            class="py-2 px-4 w-1/2 transition-colors"
 | 
				
			||||||
@@ -153,6 +180,15 @@
 | 
				
			|||||||
            {$_("existing-donor")}
 | 
					            {$_("existing-donor")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
          <button
 | 
					          <button
 | 
				
			||||||
 | 
					              on:keydown={(e)=>
 | 
				
			||||||
 | 
					              {
 | 
				
			||||||
 | 
					                if(e.key==="ArrowLeft"){
 | 
				
			||||||
 | 
					                  e.preventDefault();
 | 
				
			||||||
 | 
					                  document.querySelector("#button_existing_donor").focus();
 | 
				
			||||||
 | 
					                  document.querySelector("#button_existing_donor").click();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					              }}
 | 
				
			||||||
 | 
					              id="button_new_donor"
 | 
				
			||||||
              class={`py-2 px-4 w-1/2 transition-colors ${donor_create_new ? "bg-indigo-600 text-white" : "bg-gray-100 text-gray-700"}`}
 | 
					              class={`py-2 px-4 w-1/2 transition-colors ${donor_create_new ? "bg-indigo-600 text-white" : "bg-gray-100 text-gray-700"}`}
 | 
				
			||||||
              on:click={() => {
 | 
					              on:click={() => {
 | 
				
			||||||
                donor_create_new = true;
 | 
					                donor_create_new = true;
 | 
				
			||||||
@@ -306,6 +342,7 @@
 | 
				
			|||||||
      <!-- Submit Button -->
 | 
					      <!-- Submit Button -->
 | 
				
			||||||
      <div class="mt-6">
 | 
					      <div class="mt-6">
 | 
				
			||||||
        <button
 | 
					        <button
 | 
				
			||||||
 | 
					          id="submit_button"
 | 
				
			||||||
          type="button"
 | 
					          type="button"
 | 
				
			||||||
          class="w-full inline-flex justify-center py-2 px-4 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 disabled:bg-gray-400 disabled:cursor-not-allowed"
 | 
					          class="w-full inline-flex justify-center py-2 px-4 border border-transparent shadow-sm text-sm font-medium rounded-md text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 disabled:bg-gray-400 disabled:cursor-not-allowed"
 | 
				
			||||||
          disabled={!amount > 0 ||
 | 
					          disabled={!amount > 0 ||
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -230,7 +230,7 @@
 | 
				
			|||||||
              modal_open = false;
 | 
					              modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -287,7 +287,7 @@
 | 
				
			|||||||
              modal_open = false;
 | 
					              modal_open = false;
 | 
				
			||||||
            }}
 | 
					            }}
 | 
				
			||||||
            type="button"
 | 
					            type="button"
 | 
				
			||||||
            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"
 | 
					            class="cancel_modal_button"
 | 
				
			||||||
          >
 | 
					          >
 | 
				
			||||||
            {$_("cancel")}
 | 
					            {$_("cancel")}
 | 
				
			||||||
          </button>
 | 
					          </button>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -31,3 +31,9 @@
 | 
				
			|||||||
.donation_active_tab {
 | 
					.donation_active_tab {
 | 
				
			||||||
	@apply min-w-0 flex-1 bg-blue-400 text-white first:border-s-0 border-s border-b-2 border-neutral-200 py-4 px-4 text-sm font-medium text-center overflow-hidden cursor-pointer focus:outline-hidden;
 | 
						@apply min-w-0 flex-1 bg-blue-400 text-white first:border-s-0 border-s border-b-2 border-neutral-200 py-4 px-4 text-sm font-medium text-center overflow-hidden cursor-pointer focus:outline-hidden;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					.confirm_deletion_button {
 | 
				
			||||||
 | 
						@apply w-full cursor-pointer 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_modal_button {
 | 
				
			||||||
 | 
						@apply w-full cursor-pointer 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;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user