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);
};
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'); });
const closeUnregister = () => modal.classList.remove('show');
document.getElementById('unregister-modal-close')?.addEventListener('click', closeUnregister);
document.getElementById('unregister-modal-cancel')?.addEventListener('click', closeUnregister);
modal.addEventListener('click', e => { if (e.target === modal) closeUnregister(); });
} else if (!isFull && !isRegistrationClosed) {
const modal = document.getElementById('register-confirm-modal');
@ -545,9 +546,10 @@
renderDetailPage(event);
};
document.getElementById('register-modal-close').onclick = () => modal.classList.remove('show');
document.getElementById('register-modal-cancel').onclick = () => modal.classList.remove('show');
modal.addEventListener('click', e => { if (e.target === modal) modal.classList.remove('show'); });
const closeRegister = () => modal.classList.remove('show');
document.getElementById('register-modal-close')?.addEventListener('click', closeRegister);
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');
};
document.getElementById('confirmCancelEventBtn').addEventListener('click', function() {
document.getElementById('confirmCancelEventBtn').addEventListener('click', function() {
if (pendingCancelEventId !== null && currentUser?.email) {
cancelHostedEvent(pendingCancelEventId, currentUser.email);
}
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.
@ -335,7 +344,7 @@
}
// Entfernt eine Event-ID aus der Benutzerliste und aktualisiert die UI sofort.
function unregisterFromEvent(eventId, userEmail) {
function unregisterFromEvent(eventId, userEmail) {
const registrationMap = getRegistrationMap();
const currentIds = Array.isArray(registrationMap[userEmail]) ? registrationMap[userEmail] : [];
const nextIds = currentIds
@ -346,11 +355,10 @@
setRegistrationMap(registrationMap);
renderMyRegistrations(allEvents, currentUser);
}
// Validiert Profildaten konsistent und liefert true/false zur Submit-Steuerung.
function validateProfileForm() {
let isValid = true;
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;