diff --git a/js/my_profil.js b/js/my_profil.js index 1977b5d..69c3759 100644 --- a/js/my_profil.js +++ b/js/my_profil.js @@ -227,32 +227,37 @@ return; } - const unregisterButton = target.closest('[data-unregister-id]'); + const unregisterButton = target.closest('[data-unregister-id]'); if (unregisterButton) { - if (!currentUser?.email) { - return; - } + if (!currentUser?.email) return; const eventId = Number(unregisterButton.getAttribute('data-unregister-id')); - if (!Number.isFinite(eventId)) { - return; - } + if (!Number.isFinite(eventId)) return; - unregisterFromEvent(eventId, currentUser.email); + const modal = document.getElementById('unregister-confirm-modal'); + if (modal) modal.classList.add('show'); - // Snackbar: Feedback bei erfolgreicher Abmeldung. - const snackbar = document.getElementById('snackbar'); - if (snackbar) { - snackbar.textContent = 'Du wurdest erfolgreich abgemeldet.'; - snackbar.classList.add('snackbar--danger', 'snackbar--visible'); - setTimeout(() => { - snackbar.classList.remove('snackbar--visible'); - setTimeout(() => snackbar.classList.remove('snackbar--danger'), 400); - }, 4000); - } + document.getElementById('confirm-unregister-btn').onclick = () => { + modal.classList.remove('show'); + unregisterFromEvent(eventId, currentUser.email); + const snackbar = document.getElementById('snackbar'); + if (snackbar) { + snackbar.textContent = 'Du wurdest erfolgreich abgemeldet.'; + snackbar.classList.add('snackbar--danger', 'snackbar--visible'); + setTimeout(() => { + snackbar.classList.remove('snackbar--visible'); + setTimeout(() => snackbar.classList.remove('snackbar--danger'), 400); + }, 3000); + } + }; + + document.getElementById('unregister-modal-close').onclick = () => modal.classList.remove('show'); + document.getElementById('unregister-modal-cancel').onclick = () => modal.classList.remove('show'); + modal.addEventListener('click', e => { if (e.target === modal) modal.classList.remove('show'); }); return; } + if (target.closest('a, button')) { return; } diff --git a/my_profil.html b/my_profil.html index 4dcf8a4..6ecee48 100644 --- a/my_profil.html +++ b/my_profil.html @@ -135,6 +135,21 @@ +