diff --git a/src/App.svelte b/src/App.svelte index ff087e81..c8964a12 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -27,12 +27,13 @@ storeName: "lfk_admin", description: "LfK! admin dashbaord", }); - window.onunhandledrejection = event => { - if(event.reason.toString() == "Error: Unauthorized"){ - console.log("Found 1") - localForage.clear(); - location.replace("/"); - }}; + window.onunhandledrejection = (event) => { + if (event.reason.toString() == "Error: Unauthorized") { + console.log("Found 1"); + localForage.clear(); + location.replace("/"); + } + }; // import Login from "./components/auth/Login.svelte"; import Dashboard from "./components/dashboard/Dashboard.svelte"; @@ -61,7 +62,8 @@ import ResetPassword from "./components/auth/ResetPassword.svelte"; import Contacts from "./components/contacts/Contacts.svelte"; import ContactDetail from "./components/contacts/ContactDetail.svelte"; -import Donors from "./components/donors/Donors.svelte"; + import Donors from "./components/donors/Donors.svelte"; + import DonorDetail from "./components/donors/DonorDetail.svelte"; store.init(); registerSW(); @@ -148,6 +150,9 @@ import Donors from "./components/donors/Donors.svelte"; + + + diff --git a/src/components/donors/DonorDetail.svelte b/src/components/donors/DonorDetail.svelte new file mode 100644 index 00000000..c617164c --- /dev/null +++ b/src/components/donors/DonorDetail.svelte @@ -0,0 +1,377 @@ + + + +{#await promise} + Loading donor details +{:then} + + + + + + + + + + + Donors + + + + {original_data.firstname} + {original_data.middlename || ''} + {original_data.lastname} + + + + + + + {original_data.firstname} + {original_data.middlename || ''} + {original_data.lastname} + + {#if store.state.jwtinfo.userdetails.permissions.includes('DONOR:DELETE')} + {#if delete_triggered} + {$_('confirm-deletion')} + { + delete_triggered = !delete_triggered; + }} + class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-blue-400 text-base font-medium text-white sm:w-auto sm:text-sm">{$_('cancel')} + {/if} + {#if !delete_triggered} + { + delete_triggered = true; + }} + type="button" + class="w-full justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm">delete donor + {/if} + {/if} + {#if !delete_triggered} + {$_('save-changes')} + {/if} + + + + + {$_('first-name')} + + {#if !isFirstnameValid} + + {$_('first-name-is-required')} + + {/if} + + + {$_('middle-name')} + + + + {$_('last-name')} + + {#if !isLastnameValid} + + {$_('last-name-is-required')} + + {/if} + + + {$_('e-mail-adress')} + + {#if !isEmailValid} + + {$_('valid-email-is-required')} + + {/if} + + + {$_('phone')} + + {#if !isPhoneValidOrEmpty} + + {$_('valid-international-phone-number-is-required')} + + {/if} + + + + + + + Receipt needed (address) + + + {#if editable.address_checked === true} + + {$_('address')} + + {#if !isAddress1Valid} + + {$_('address-is-required')} + + {/if} + + + {$_('apartment-suite-etc')} + + + + {$_('zip-postal-code')} + + {#if !iszipcodevalid} + + {$_('valid-zipcode-postal-code-is-required')} + + {/if} + + + {$_('city')} + + {#if !iscityvalid} + + {$_('valid-city-is-required')} + + {/if} + + {/if} + +{:catch error} + +{/await}