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 { getMyAccount, unhideElementById } from './generalUseHelpers.js'; var isAscending = false; function toggleListSortOrder(org_id) { isAscending = !isAscending; loadEvents(org_id); } function getEvents(titleOrDescription) { return __awaiter(this, void 0, void 0, function* () { var res; if (titleOrDescription == null) { res = yield fetch("/api/events" + (isAscending ? "?sort=asc" : "")); if (!res.ok) throw new Error("Couldn't load events"); } else { const payload = { titleOrDescription }; res = yield fetch('/api/events/search', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }); if (!res.ok) throw new Error("Failed to get search results"); } const events = yield res.json(); return events; }); } function loadEvents(org_id, evs) { return __awaiter(this, void 0, void 0, function* () { const container = document.getElementById("eventList"); if (!container) return; var events; try { if (evs == null) { events = yield getEvents(); } else { events = yield evs; } if (events.length === 0) { container.innerHTML = "

No events to display at this moment.

"; return; } // Wyczyść kontener przed dodaniem nowych container.innerHTML = ''; const styleDefault = "color: #2898BD"; const styleHighlighted = "#2393BD"; for (const ev of events) { const card = document.createElement("div"); card.className = "event-card filled"; let formattedDate = new Intl.DateTimeFormat('en-US', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' // "1" }).format(new Date(ev.eventDate)); card.innerHTML = ` ${ev.title}

👥 ${ev.organisation} | 📍 ${ev.location} | 📅 ${formattedDate}

`; if (org_id == ev.organisationId) { card.innerHTML += `
`; } container.appendChild(card); } } catch (err) { container.innerHTML = `

General failure when trying to load data.

`; console.error(err); } }); } document.addEventListener("DOMContentLoaded", () => __awaiter(void 0, void 0, void 0, function* () { var org_id = -1; try { var user = yield getMyAccount(); if (user) { if (user.isOrganisation) { unhideElementById(document, "mainContainer"); unhideElementById(document, "addnewevent-btn"); org_id = user.organisationId; } unhideElementById(document, "logout-btn"); } } catch (_a) { // console.log("User not signed in. Failing gracefully."); unhideElementById(document, "joinnow-btn"); unhideElementById(document, "signin-btn"); } loadEvents(org_id); // listen for clicks const listSortToggleButton = document.getElementById("list-sort-btn"); if (listSortToggleButton) { listSortToggleButton.addEventListener("click", () => toggleListSortOrder(org_id)); } // and for enter in search bar const searchBar = document.getElementById('searchbar'); searchBar.addEventListener('keydown', (event) => { if (event.key === 'Enter') { // console.log('Enter key pressed!'); var searchResults = getEvents(searchBar.value); loadEvents(org_id, searchResults); } }); }));