"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);
