| @@ -1,18 +1,24 @@ | ||||
| <script> | ||||
|   import { getLocaleFromNavigator, _ } from "svelte-i18n"; | ||||
|   import { DonorService } from "@odit/lfk-client-js"; | ||||
|   import { DonationService, DonorService } from "@odit/lfk-client-js"; | ||||
|   import store from "../../store"; | ||||
|   import DonorsEmptyState from "./DonorsEmptyState.svelte"; | ||||
|   import ConfirmDonorDeletion from "./ConfirmDonorDeletion.svelte"; | ||||
|   import Toastify from "toastify-js"; | ||||
|   $: searchvalue = ""; | ||||
|   $: active_deletes = []; | ||||
|   $: current_donations = []; | ||||
|   let modal_open = false; | ||||
|   let delete_donor = {}; | ||||
|   export let current_donors = []; | ||||
|   const donors_promise = DonorService.donorControllerGetAll().then((val) => { | ||||
|     current_donors = val; | ||||
|   }); | ||||
|   const donation_promise = DonationService.donationControllerGetAll().then( | ||||
|     (val) => { | ||||
|       current_donations = val; | ||||
|     } | ||||
|   ); | ||||
|   function should_display_based_on_id(id) { | ||||
|     if (searchvalue.toString().slice(-1) === "*") { | ||||
|       return id.toString().startsWith(searchvalue.replace("*", "")); | ||||
| @@ -29,7 +35,7 @@ | ||||
|   bind:modal_open | ||||
|   bind:delete_donor /> | ||||
| {#if store.state.jwtinfo.userdetails.permissions.includes('DONOR:GET')} | ||||
|   {#await donors_promise} | ||||
|   {#await donors_promise && donation_promise} | ||||
|     <div | ||||
|       class="bg-teal-lightest border-t-4 border-teal rounded-b text-teal-darkest px-4 py-3 shadow-md my-2" | ||||
|       role="alert"> | ||||
| @@ -118,9 +124,26 @@ | ||||
|                       {donor.address.country} | ||||
|                     {/if} | ||||
|                   </td> | ||||
|                   <td class="px-6 py-4 whitespace-nowrap">TODO</td> | ||||
|                   <td class="px-6 py-4 whitespace-nowrap"> | ||||
|                     {(donor.donationAmount/100).toFixed(2).toLocaleString("de-DE", {valute: "EUR"})}€ | ||||
|                     {#if current_donations.filter((d) => d.donor.id == donor.id).length > 0} | ||||
|                       {#each current_donations.filter((o) => o.donor.id == donor.id) as d} | ||||
|                         {#if d.responseType === 'DISTANCEDONATION'} | ||||
|                           <a | ||||
|                             href="../donations/{d.id}" | ||||
|                             class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-gray-100 text-gray-800">{d.runner.firstname} {d.runner.middlename} {d.runner.lastname}</a> | ||||
|                         {:else} | ||||
|                           <a | ||||
|                             href="../donations/{d.id}" | ||||
|                             class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-gray-100 text-gray-800">Fixed: | ||||
|                             {d.id}</a> | ||||
|                         {/if} | ||||
|                       {/each} | ||||
|                     {:else}Donor has no associated donations.{/if} | ||||
|                   </td> | ||||
|                   <td class="px-6 py-4 whitespace-nowrap"> | ||||
|                     {(donor.donationAmount / 100) | ||||
|                       .toFixed(2) | ||||
|                       .toLocaleString('de-DE', { valute: 'EUR' })}€ | ||||
|                   </td> | ||||
|                   {#if active_deletes[donor.id] === true} | ||||
|                     <td | ||||
|   | ||||
		Reference in New Issue
	
	Block a user