Event absagen snackbar hinzugefügt

This commit is contained in:
Estelle Köhler 2026-04-26 10:49:53 +02:00
parent 9b63c632c7
commit 97badadfc5
2 changed files with 20 additions and 10 deletions

View File

@ -521,9 +521,10 @@
renderDetailPage(event); renderDetailPage(event);
}; };
document.getElementById('unregister-modal-close').onclick = () => modal.classList.remove('show'); const closeUnregister = () => modal.classList.remove('show');
document.getElementById('unregister-modal-cancel').onclick = () => modal.classList.remove('show'); document.getElementById('unregister-modal-close')?.addEventListener('click', closeUnregister);
modal.addEventListener('click', e => { if (e.target === modal) modal.classList.remove('show'); }); document.getElementById('unregister-modal-cancel')?.addEventListener('click', closeUnregister);
modal.addEventListener('click', e => { if (e.target === modal) closeUnregister(); });
} else if (!isFull && !isRegistrationClosed) { } else if (!isFull && !isRegistrationClosed) {
const modal = document.getElementById('register-confirm-modal'); const modal = document.getElementById('register-confirm-modal');
@ -545,9 +546,10 @@
renderDetailPage(event); renderDetailPage(event);
}; };
document.getElementById('register-modal-close').onclick = () => modal.classList.remove('show'); const closeRegister = () => modal.classList.remove('show');
document.getElementById('register-modal-cancel').onclick = () => modal.classList.remove('show'); document.getElementById('register-modal-close')?.addEventListener('click', closeRegister);
modal.addEventListener('click', e => { if (e.target === modal) modal.classList.remove('show'); }); document.getElementById('register-modal-cancel')?.addEventListener('click', closeRegister);
modal.addEventListener('click', e => { if (e.target === modal) closeRegister(); });
} }
}); });
} }

View File

@ -291,11 +291,20 @@
modal.classList.remove('show'); modal.classList.remove('show');
}; };
document.getElementById('confirmCancelEventBtn').addEventListener('click', function() { document.getElementById('confirmCancelEventBtn').addEventListener('click', function() {
if (pendingCancelEventId !== null && currentUser?.email) { if (pendingCancelEventId !== null && currentUser?.email) {
cancelHostedEvent(pendingCancelEventId, currentUser.email); cancelHostedEvent(pendingCancelEventId, currentUser.email);
} }
closeCancelEventModal(); closeCancelEventModal();
const snackbar = document.getElementById('snackbar');
if (snackbar) {
snackbar.textContent = 'Dein Event wurde erfolgreich abgesagt.';
snackbar.classList.add('snackbar--danger', 'snackbar--visible');
setTimeout(() => {
snackbar.classList.remove('snackbar--visible');
setTimeout(() => snackbar.classList.remove('snackbar--danger'), 400);
}, 3000);
}
}); });
// Schliesst das Modal bei Klick ausserhalb des Inhalts. // Schliesst das Modal bei Klick ausserhalb des Inhalts.
@ -335,7 +344,7 @@
} }
// Entfernt eine Event-ID aus der Benutzerliste und aktualisiert die UI sofort. // Entfernt eine Event-ID aus der Benutzerliste und aktualisiert die UI sofort.
function unregisterFromEvent(eventId, userEmail) { function unregisterFromEvent(eventId, userEmail) {
const registrationMap = getRegistrationMap(); const registrationMap = getRegistrationMap();
const currentIds = Array.isArray(registrationMap[userEmail]) ? registrationMap[userEmail] : []; const currentIds = Array.isArray(registrationMap[userEmail]) ? registrationMap[userEmail] : [];
const nextIds = currentIds const nextIds = currentIds
@ -346,11 +355,10 @@
setRegistrationMap(registrationMap); setRegistrationMap(registrationMap);
renderMyRegistrations(allEvents, currentUser); renderMyRegistrations(allEvents, currentUser);
}
// Validiert Profildaten konsistent und liefert true/false zur Submit-Steuerung. // Validiert Profildaten konsistent und liefert true/false zur Submit-Steuerung.
function validateProfileForm() { function validateProfileForm() {
let isValid = true;
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;