// ── Dashboard Page ── registerPage('dashboard', { async init() { const sessions = await apiGetSessions(); const grid = document.getElementById('sessionCards'); grid.innerHTML = ''; for (const s of sessions) { const card = document.createElement('div'); card.className = 'card clickable'; card.innerHTML = `
${escHtml(s.name || 'Unbenannt')}
${formatDate(s.updatedAt)}
`; card.addEventListener('click', () => { navigateTo('session', { id: s.sessionId }); }); grid.appendChild(card); } // Neue Session Button const btn = document.getElementById('newSessionBtn'); if (btn) { btn.addEventListener('click', async () => { const session = await apiCreateSession(); navigateTo('session', { id: session.sessionId }); }); } }, destroy() {} }); function escHtml(s) { const d = document.createElement('div'); d.textContent = s; return d.innerHTML; } function formatDate(iso) { if (!iso) return ''; return new Date(iso).toLocaleString('de-AT', { day: '2-digit', month: '2-digit', year: '2-digit', hour: '2-digit', minute: '2-digit' }); }