import { apiPost } from '../api.js'; import { esc } from './utils.js'; function navDisplayName(user) { if (!user) return ''; const a = [user.firstName, user.lastName].filter( (x) => x != null && String(x).trim() !== '', ); return a.length ? a.map((x) => String(x).trim()).join(' ') : user.username; } /** * @param {string} [activeNav] 'start' | 'machines' | 'tickets' | 'options' | 'users' */ export function updateNav(st, activeNav = '') { const nav = document.getElementById('main-nav'); if (!nav) return; if (!st.loggedIn) { nav.innerHTML = ''; return; } const isAdmin = st.user?.role === 'admin'; const na = (key) => (activeNav === key ? 'nav-active' : ''); nav.innerHTML = ` Start Maschinen Tickets ${ isAdmin ? `OptionenBenutzer` : '' } `; const btn = document.getElementById('btn-logout'); if (btn) { btn.onclick = async () => { try { await apiPost('/auth/logout', {}); } catch { /* ignore */ } updateNav({ loggedIn: false }); location.href = '/login.html'; }; } }