spotnotes.app/static/assets/js/nav.js

42 lines
1.2 KiB
JavaScript
Raw Normal View History

2026-05-12 23:58:18 +00:00
document.addEventListener('DOMContentLoaded', () => {
checkAuthStatus();
initLogoutListener();
});
async function checkAuthStatus() {
try {
const res = await fetch('/auth/me');
const data = await res.json();
updateAuthUI(data.authenticated);
} catch (err) {
console.error("Auth check failed", err);
}
}
function initLogoutListener() {
const logoutLink = document.getElementById('link-logout');
if (logoutLink) {
logoutLink.addEventListener('click', async (e) => {
e.preventDefault();
try {
await fetch('/auth/logout', { method: 'POST' });
window.location.reload();
} catch (err) {
console.error("Logout failed", err);
}
});
}
}
function updateAuthUI(isLoggedIn) {
const loginLink = document.getElementById('link-login');
const logoutLink = document.getElementById('link-logout');
if (isLoggedIn) {
if (loginLink) loginLink.style.display = 'none';
if (logoutLink) logoutLink.style.display = 'inline';
} else {
if (loginLink) loginLink.style.display = 'inline';
if (logoutLink) logoutLink.style.display = 'none';
}
}