diff --git a/WebApp/ts/eventView.ts b/WebApp/ts/eventView.ts index 2224456..a79e6ee 100644 --- a/WebApp/ts/eventView.ts +++ b/WebApp/ts/eventView.ts @@ -10,6 +10,7 @@ document.addEventListener("DOMContentLoaded", async () => { const modifyBtn = document.getElementById("editBtn"); const removeBtn = document.getElementById("removeBtn"); const applyBtn = document.getElementById("applyBtn"); + const leaveBtn = document.getElementById("leaveBtn"); var org_id: number = -1; try { @@ -118,14 +119,41 @@ document.addEventListener("DOMContentLoaded", async () => { } = await response.json(); if (result.success) { - (applyBtn as HTMLButtonElement).disabled = true; - (applyBtn as HTMLButtonElement).textContent = "Applied Succesfully"; + window.location.href = `/view.html?event=${eventId}`; } else { alert(`Error: ${result.error_msg ?? "Unknown error occurred."}`); } } catch (error) { console.error("Failed to apply:", error); - alert("Failed to apply due to a network or server error."); + alert("Failed to apply."); + } + }); + } + + if (leaveBtn) { + leaveBtn.addEventListener("click", async (e) => { + try { + const response = await fetch(`/api/events/leave/${eventId}`, { + method: "POST", + headers: { + "Content-Type": "application/json" + }, + }); + + const result: { + success: boolean; + error_msg?: string; + } = await response.json(); + + if (result.success) { + window.location.href = `/view.html?event=${eventId}`; + } else { + alert(`Error: ${result.error_msg ?? "Unknown error occurred."}`); + } + + } catch (error) { + console.error("Failed to leave:", error) + alert("Failed to leave.") } }); } diff --git a/WebApp/wwwroot/js/eventView.js b/WebApp/wwwroot/js/eventView.js index bb72dfe..1afa835 100644 --- a/WebApp/wwwroot/js/eventView.js +++ b/WebApp/wwwroot/js/eventView.js @@ -16,6 +16,7 @@ document.addEventListener("DOMContentLoaded", () => __awaiter(void 0, void 0, vo const modifyBtn = document.getElementById("editBtn"); const removeBtn = document.getElementById("removeBtn"); const applyBtn = document.getElementById("applyBtn"); + const leaveBtn = document.getElementById("leaveBtn"); var org_id = -1; try { var user = yield getMyAccount(); @@ -37,7 +38,7 @@ document.addEventListener("DOMContentLoaded", () => __awaiter(void 0, void 0, vo } catch (err) { if (container !== null) - container.innerHTML = `
To wydarzenie nie istnieje! Powrót ->
`; + container.innerHTML = `To wydarzenie nie istnieje! Powr�t ->
`; } if (thisEvent == null) { if (container !== null) @@ -116,8 +117,7 @@ document.addEventListener("DOMContentLoaded", () => __awaiter(void 0, void 0, vo }); const result = yield response.json(); if (result.success) { - applyBtn.disabled = true; - applyBtn.textContent = "Applied Succesfully"; + window.location.href = `/view.html?event=${eventId}`; } else { alert(`Error: ${(_b = result.error_msg) !== null && _b !== void 0 ? _b : "Unknown error occurred."}`); @@ -125,7 +125,31 @@ document.addEventListener("DOMContentLoaded", () => __awaiter(void 0, void 0, vo } catch (error) { console.error("Failed to apply:", error); - alert("Failed to apply due to a network or server error."); + alert("Failed to apply."); + } + })); + } + if (leaveBtn) { + leaveBtn.addEventListener("click", (e) => __awaiter(void 0, void 0, void 0, function* () { + var _c; + try { + const response = yield fetch(`/api/events/leave/${eventId}`, { + method: "POST", + headers: { + "Content-Type": "application/json" + }, + }); + const result = yield response.json(); + if (result.success) { + window.location.href = `/view.html?event=${eventId}`; + } + else { + alert(`Error: ${(_c = result.error_msg) !== null && _c !== void 0 ? _c : "Unknown error occurred."}`); + } + } + catch (error) { + console.error("Failed to leave:", error); + alert("Failed to leave."); } })); }