feat: front-end overhaul. added search, editing, event view, validation

This commit is contained in:
2025-05-19 04:36:28 +02:00
parent 82936633f1
commit ace54fb4ef
20 changed files with 490 additions and 89 deletions

View File

@@ -3,30 +3,38 @@
document.body.addEventListener("click", async (e) => {
const target = e.target as HTMLElement;
if (!target.matches(".delete-btn")) return; // Sprawdza, czy kliknięto przycisk "Usuń"
if (!target.matches(".mod-btn")) return; // Sprawdza, czy kliknięto przycisk "Usuń" lub "Edytuj"
const id = target.getAttribute("data-id"); // Pobiera ID wydarzenia
if (!id) return;
const confirmed = confirm("Na pewno chcesz usunąć to wydarzenie?"); // Potwierdzenie usunięcia
if (!confirmed) return;
switch (target.id) {
case "edit-btn":
window.location.href = "/modify.html?event=" + id;
break;
case "remove-btn":
const confirmed = confirm("Na pewno chcesz usunąć to wydarzenie?"); // Potwierdzenie usunięcia
if (!confirmed) return;
try {
// Wysyła żądanie DELETE do API
const response = await fetch(`/api/events/${id}`, {
method: "DELETE"
});
try {
// Wysyła żądanie DELETE do API
const response = await fetch(`/api/events/${id}`, {
method: "DELETE"
});
if (response.ok) {
// Usuwa kartę z DOM (bez przeładowania strony)
const card = target.closest(".event-card");
if (card) card.remove();
} else {
alert("Błąd podczas usuwania wydarzenia.");
}
} catch (err) {
alert("Błąd połączenia z serwerem.");
console.error(err);
if (response.ok) {
// Usuwa kartę z DOM (bez przeładowania strony)
const card = target.closest(".event-card");
if (card) card.remove();
} else {
alert("Błąd podczas usuwania wydarzenia.");
}
} catch (err) {
alert("Błąd połączenia z serwerem.");
console.error(err);
}
break;
}
});
});