Files
hermes/WebApp/wwwroot/js/applyToEvent.js
2025-06-01 15:06:13 +02:00

49 lines
2.0 KiB
JavaScript

"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
document.addEventListener("DOMContentLoaded", () => {
const applyBtn = document.getElementById("applyBtn");
if (!applyBtn)
return;
const eventId = getEventIdFromURL();
if (!eventId) {
console.error("Event ID not found.");
return;
}
applyBtn.addEventListener("click", () => __awaiter(void 0, void 0, void 0, function* () {
var _a;
try {
const response = yield fetch(`/api/events/join/${eventId}`, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
});
const result = yield response.json();
if (result.success) {
applyBtn.disabled = true;
applyBtn.textContent = "Applied Succesfully";
}
else {
alert(`Error: ${(_a = result.error_msg) !== null && _a !== void 0 ? _a : "Unknown error occurred."}`);
}
}
catch (error) {
console.error("Failed to apply:", error);
alert("Failed to apply due to a network or server error.");
}
}));
function getEventIdFromURL() {
const params = new URLSearchParams(window.location.search);
const idParam = params.get("event");
return idParam ? parseInt(idParam, 10) : null;
}
});