Abmeldung bei my profile pop up hinzugefügt.

This commit is contained in:
Estelle Köhler 2026-04-26 10:12:53 +02:00
parent 5439aeeacb
commit a167e3277e
2 changed files with 38 additions and 18 deletions

View File

@ -229,18 +229,17 @@
const unregisterButton = target.closest('[data-unregister-id]'); const unregisterButton = target.closest('[data-unregister-id]');
if (unregisterButton) { if (unregisterButton) {
if (!currentUser?.email) { if (!currentUser?.email) return;
return;
}
const eventId = Number(unregisterButton.getAttribute('data-unregister-id')); const eventId = Number(unregisterButton.getAttribute('data-unregister-id'));
if (!Number.isFinite(eventId)) { if (!Number.isFinite(eventId)) return;
return;
}
const modal = document.getElementById('unregister-confirm-modal');
if (modal) modal.classList.add('show');
document.getElementById('confirm-unregister-btn').onclick = () => {
modal.classList.remove('show');
unregisterFromEvent(eventId, currentUser.email); unregisterFromEvent(eventId, currentUser.email);
// Snackbar: Feedback bei erfolgreicher Abmeldung.
const snackbar = document.getElementById('snackbar'); const snackbar = document.getElementById('snackbar');
if (snackbar) { if (snackbar) {
snackbar.textContent = 'Du wurdest erfolgreich abgemeldet.'; snackbar.textContent = 'Du wurdest erfolgreich abgemeldet.';
@ -248,11 +247,17 @@
setTimeout(() => { setTimeout(() => {
snackbar.classList.remove('snackbar--visible'); snackbar.classList.remove('snackbar--visible');
setTimeout(() => snackbar.classList.remove('snackbar--danger'), 400); setTimeout(() => snackbar.classList.remove('snackbar--danger'), 400);
}, 4000); }, 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; return;
} }
if (target.closest('a, button')) { if (target.closest('a, button')) {
return; return;
} }

View File

@ -135,6 +135,21 @@
</div> </div>
</div> </div>
<div id="unregister-confirm-modal" class="modal">
<div class="modal-content">
<div class="modal-header">
<h2>Pläne haben sich geändert?</h2>
<button type="button" class="modal-close" id="unregister-modal-close" aria-label="Popup schließen">&times;</button>
</div>
<div class="modal-body">
<p>Schade, dass du nicht dabei sein kannst! Aber manchmal kommt einfach etwas dazwischen. Wenn du dich jetzt abmeldest, gibst du deinen Stuhl am Tisch für jemand anderen aus der Community frei. So hilfst du bei der Planung und ein anderer Feinschmecker freut sich über den freien Platz.</p>
</div>
<div class="modal-footer" style="display: flex; justify-content: flex-end; gap: 16px; margin-top: 24px;">
<button class="button-primary button--outline" type="button" id="unregister-modal-cancel">Abbrechen</button>
<button class="button-primary button-primary-abmelden" type="button" id="confirm-unregister-btn">Ja, abmelden</button>
</div>
</div>
</div>
<!-- Snackbar: Feedback bei Abmeldung von Events --> <!-- Snackbar: Feedback bei Abmeldung von Events -->
<div class="snackbar" id="snackbar"></div> <div class="snackbar" id="snackbar"></div>