Brak wydarzeń do wyświetlenia.
"; return; @@ -48,6 +54,18 @@ function loadEvents() { }); } document.addEventListener("DOMContentLoaded", () => __awaiter(void 0, void 0, void 0, function* () { + var user = yield getMyAccount(); + if (user) { + if (user.isOrganisation) { + unhideElementById(document, "mainContainer"); + unhideElementById(document, "addnewevent-btn"); + } + unhideElementById(document, "logout-btn"); + } + else { + unhideElementById(document, "joinnow-btn"); + unhideElementById(document, "signin-btn"); + } loadEvents(); // listen for clicks const listSortToggleButton = document.getElementById("list-sort-btn"); diff --git a/WebApp/wwwroot/js/eventModify.js b/WebApp/wwwroot/js/eventModify.js new file mode 100644 index 0000000..d6cbf9f --- /dev/null +++ b/WebApp/wwwroot/js/eventModify.js @@ -0,0 +1,95 @@ +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()); + }); +}; +import { getEvent, getMyAccount, unhideElementById } from './generalUseHelpers.js'; +const queryString = window.location.search; +const urlParams = new URLSearchParams(queryString); +const eventId = urlParams.get('event'); +function modifyEvent() { + return __awaiter(this, void 0, void 0, function* () { + // Pobieranie danych z formularza + const title = document.getElementById('title').value; + const location = document.getElementById('location').value; + const description = document.getElementById('description').value; + const eventDateRaw = document.getElementById('eventDate').value; + // Walidacja prostych pól + if (!title || !location || !eventDateRaw) { + alert("Należy uzupełnić wszystkie pola!"); + return; + } + const eventDate = new Date(eventDateRaw).toISOString(); + const payload = { + title, + location, + description, + eventDate, + }; + try { + const response = yield fetch('/api/events/' + eventId, { + method: 'PUT', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(payload) + }); + if (!response.ok) { + const errorText = yield response.text(); + throw new Error(errorText); + } + alert("Wydarzenie zmodyfikowane!"); + window.location.href = "/"; // Przekierowanie do strony głównej + } + catch (error) { + console.error("Błąd podczas modyfikowania:", error); + alert("Nie udało się zmodyfikować wydarzenia: " + error); + } + }); +} +document.addEventListener("DOMContentLoaded", () => __awaiter(void 0, void 0, void 0, function* () { + var container = document.getElementById("mainContainer"); + const saveBtn = document.getElementById("saveBtn"); + var user = yield getMyAccount(); + if (user) { + if (user.isOrganisation) { + unhideElementById(document, "mainContainer"); + } + unhideElementById(document, "logout-btn"); + } + else { + unhideElementById(document, "joinnow-btn"); + unhideElementById(document, "signin-btn"); + } + if (saveBtn) { + saveBtn.addEventListener("click", (e) => { + e.preventDefault(); + createEvent(); + }); + } + if (eventId !== null && container !== null) { + try { + const titleInput = document.getElementById('title'); + const locationInput = document.getElementById('location'); + const descriptionInput = document.getElementById('description'); + const dateInput = document.getElementById('eventDate'); + var ev = yield getEvent(eventId); + if (ev === null) { + container.innerHTML = "Brak wydarzeń do wyświetlenia.
"; + return; + } + else { + titleInput.value = ev.title || ''; + locationInput.value = ev.location || ''; + descriptionInput.value = ev.description || ''; + dateInput.value = ev.eventDate.slice(0, 16) || ''; + } + } + catch (err) { + console.log(err); + container.innerHTML = `` + err + `
`; + } + } +})); diff --git a/WebApp/wwwroot/js/generalUseHelpers.js b/WebApp/wwwroot/js/generalUseHelpers.js new file mode 100644 index 0000000..5b4a187 --- /dev/null +++ b/WebApp/wwwroot/js/generalUseHelpers.js @@ -0,0 +1,38 @@ +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()); + }); +}; +export function unhideElementById(document, e) { + return __awaiter(this, void 0, void 0, function* () { + var element = document.getElementById(e); + if (element) { + element.classList.remove('hidden-before-load'); + console.log(element.classList); + } + }); +} +export function getEvent(id) { + return __awaiter(this, void 0, void 0, function* () { + const res = yield fetch("/api/events/" + id); + if (!res.ok) { + throw Error("To wydarzenie nie istnieje"); + } + const events = yield res.json(); + return events; + }); +} +export function getMyAccount() { + return __awaiter(this, void 0, void 0, function* () { + const res = yield fetch("/api/auth/my_account"); + if (!res.ok) { + throw Error("Użytkownik niezalogowany!"); + } + const data = yield res.json(); + return data; + }); +} diff --git a/WebApp/wwwroot/modify.html b/WebApp/wwwroot/modify.html new file mode 100644 index 0000000..541bbc9 --- /dev/null +++ b/WebApp/wwwroot/modify.html @@ -0,0 +1,88 @@ + + + + +