const headerHtml = `
`; const footerHtml = ` `; function getCurrentTheme() { return document.documentElement.getAttribute('data-theme') === 'dark' ? 'dark' : 'light'; } function updateToggleState(theme) { const icon = document.getElementById('toggle-icon'); const toggleButton = document.getElementById('theme-toggle'); if (!icon || !toggleButton) { return; } icon.textContent = theme === 'dark' ? '🌙' : '☀'; toggleButton.setAttribute('aria-pressed', theme === 'dark' ? 'true' : 'false'); toggleButton.setAttribute('aria-label', theme === 'dark' ? 'Svetli način' : 'Temni način'); } function logout() { // Odstrani cookie tako, da ga nastaviš z max-age=0 document.cookie = 'token=; max-age=0; path=/; secure; samesite=strict'; document.cookie = 'username=; max-age=0; path=/; secure; samesite=strict'; window.location.href = "/"; } document.addEventListener("DOMContentLoaded", function() { // Naslov document.title = `SSNJ - ${document.title}`; // Konstrukcija vseh stvari for (let element of document.getElementsByClassName("page-header")) { element.innerHTML = headerHtml; } // Dodaj gumb za prijavo, če uporabnik ni prijavljen const isLoggedIn = document.cookie.split(';').some(cookie => cookie.trim().startsWith('token=')); if (!isLoggedIn) { const navRight = document.querySelector('.nav-right'); if (navRight) { const loginBtn = `Prijava`; // Najdi zadnji element in dodaj gumb za njim const lastLink = navRight.querySelector('a:last-child'); document.getElementById("nav-login-holder").innerHTML = loginBtn; } } else { const navRight = document.querySelector('.nav-right'); if (navRight) { const logoutBtn = `Odjava`; // Najdi zadnji element in dodaj gumb za njim const lastLink = navRight.querySelector('a:last-child'); document.getElementById("nav-login-holder").innerHTML = logoutBtn; document.querySelector('.nav-btn-primary').addEventListener('click', logout); } } for (let element of document.getElementsByClassName("page-footer")) { element.innerHTML = footerHtml; } updateToggleState(getCurrentTheme()); }); function toggleTheme() { const current = getCurrentTheme(); const next = current === 'dark' ? 'light' : 'dark'; document.documentElement.setAttribute('data-theme', next); localStorage.setItem('theme', next); updateToggleState(next); } matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => { if (!localStorage.getItem('theme')) { const theme = e.matches ? 'dark' : 'light'; document.documentElement.setAttribute('data-theme', theme); updateToggleState(theme); } });