diff --git a/src/components/donations/DonationsOverview.svelte b/src/components/donations/DonationsOverview.svelte
index c509f98f..c989a6d5 100644
--- a/src/components/donations/DonationsOverview.svelte
+++ b/src/components/donations/DonationsOverview.svelte
@@ -5,18 +5,16 @@
import Toastify from "toastify-js";
import DonationsEmptyState from "./DonationsEmptyState.svelte";
import AddDonationPaymentModal from "./AddDonationPaymentModal.svelte";
+ import { onMount } from "svelte";
$: searchvalue = "";
$: active_deletes = [];
+ $: dataLoaded = false;
export let current_donations = [];
export let payment_modal_open = false;
export let editable = {};
export let original_data = {};
export let paid_amount_input = 0;
- const donations_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("*", ""));
@@ -26,210 +24,252 @@
function open_payment_modal(donation) {
editable = Object.assign({}, donation);
original_data = Object.assign({}, donation);
- paid_amount_input = (donation.paidAmount/100).toFixed(2);
+ paid_amount_input = (donation.paidAmount / 100).toFixed(2);
payment_modal_open = true;
}
+
+ onMount(async () => {
+ let page = 0;
+ while (page >= 0) {
+ const donations = await DonationService.donationControllerGetAll(
+ page,
+ 500
+ );
+ if (donations.length == 0) {
+ page = -2;
+ }
+
+ current_donations = current_donations.concat(...donations);
+
+ if (page == 0) {
+ dataLoaded = true;
+ }
+ page++;
+ }
+ console.log("All donations loaded");
+ });
-
donations are being loaded
-{$_('this-might-take-a-moment')}
+{$_("this-might-take-a-moment")}
- {$_('donor')} - | -- {$_('runner')} - | -- {$_('amount-per-kilometer')} - | -- {$_('donation-amount')} - | -- {$_('paid-amount')} - | -- {$_('status')} - | -- {$_('action')} - | -
---|
+ {$_("donor")} + | ++ {$_("runner")} + | ++ {$_("amount-per-kilometer")} + | ++ {$_("donation-amount")} + | ++ {$_("paid-amount")} + | ++ {$_("status")} + | ++ {$_("action")} + | +|||
---|---|---|---|---|---|---|---|---|---|
-
+ .includes(searchvalue.toLowerCase()) || donation.runner?.firstname
+ .toLowerCase()
+ .includes(searchvalue.toLowerCase()) || donation.runner?.lastname
+ .toLowerCase()
+ .includes(searchvalue.toLowerCase()) || should_display_based_on_id(donation.id)}
+
+
+ |
+
+ {#if donation.runner}
+ |
-
{donation.donor.firstname}
- {donation.donor.middlename || ''}
- {donation.donor.lastname}
+ href="../runners/{donation.runner.id}"
+ class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-gray-100 text-gray-800"
+ >{donation.runner.firstname}
+ {donation.runner.middlename || ""}
+ {donation.runner.lastname}
-
- {#if donation.runner}
-
- {:else}
- |
-
- {$_('fixed-donation')}
-
- {/if}
-
- {#if donation.amountPerDistance}
- |
-
- {(donation.amountPerDistance / 100)
- .toFixed(2)
- .toLocaleString('de-DE', { valute: 'EUR' })}€
-
- {:else}
-
- {$_('fixed-donation')}
-
- {/if}
-
- |
-
- {(donation.amount / 100)
- .toFixed(2)
- .toLocaleString('de-DE', { valute: 'EUR' })}€
-
-
- |
-
- {(donation.paidAmount / 100)
- .toFixed(2)
- .toLocaleString('de-DE', { valute: 'EUR' })}€
-
-
- {#if donation.status =="PAID"}
- {$_('paid')}
- {:else}
- {$_('open')}
- {/if}
- |
- {#if active_deletes[donation.id] === true}
-
-
-
- |
{:else}
-
-
- {$_('details')}
- {#if store.state.jwtinfo.userdetails.permissions.includes('DONATION:DELETE')}
-
- {/if}
- |
+
+ {$_("fixed-donation")}
+
{/if}
- |