"use strict"; // /js/auth.ts 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()); }); }; function deleteCookie(name) { document.cookie = `${name}=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT`; } function logoutUser() { return __awaiter(this, void 0, void 0, function* () { yield fetch("/api/auth/logout", { method: "POST", headers: { "Content-Type": "application/json", }, }); deleteCookie('token'); window.location.href = "/index.html"; }); } function redirectToLogin() { window.location.href = 'login.html'; } function checkAuth() { // Basic auth check via presence of token cookie return document.cookie.includes('token='); } function setupAuthUI() { const joinNowBtn = document.getElementById('joinnow-btn'); const signInBtn = document.getElementById('signin-btn'); const logoutBtn = document.getElementById('logout-btn'); const isAuthenticated = checkAuth(); if (joinNowBtn) { joinNowBtn.classList.toggle('d-none', isAuthenticated); joinNowBtn.addEventListener('click', redirectToLogin); } if (signInBtn) { signInBtn.classList.toggle('d-none', isAuthenticated); signInBtn.addEventListener('click', redirectToLogin); } if (logoutBtn) { logoutBtn.classList.toggle('d-none', !isAuthenticated); logoutBtn.addEventListener('click', (e) => { e.preventDefault(); logoutUser(); }); } } // Initialize on load document.addEventListener('DOMContentLoaded', setupAuthUI);