<!DOCTYPE html> <html lang="de"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>MAÑANA DE MAÑANA · Dashboard + Postfach</title> <link href="https://fonts.googleapis.com/css2?family=Cinzel:wght@400;700&family=Cormorant+Garamond:wght@300;400;500;600&display=swap" rel="stylesheet"> </head> <body>
MAÑANA DE MAÑANA Logo
MAÑANA DE MAÑANA
Philosophie der Performanz
<main class="dashboard-content">
[Premium Dashboard integriert hier — Dashboard-Code einfügen]
</main>
<script> // MOCK DATA const messages = [ { id: 1, sender: 'Geschichtsvollzieher (SI)', senderType: 'geschichtsvollzieher', subject: 'Sektion Empedokles freigegeben', preview: 'Die erste Sektion ist jetzt verfügbar...', body: 'Die erste Sektion "De mañana · Feuer" ist für dich freigegeben. Der Text "Herzlose Tränen / Lágrimas sin Corazón" erwartet deine Interpretation. Beginne, wenn du bereit bist.', timestamp: '2026-04-07 14:32', priority: 'normal', read: false }, { id: 2, sender: 'Staatsanwalt (Exp. 10319-25)', senderType: 'staatsanwalt', subject: 'Neue Dokumentation eingegangen', preview: 'Die Ampliación de Querella wurde aktualisiert...', body: 'Exp. 10319-25: Die Ampliación de Querella (Anhang H, Mehrpersonenkommunikationshypothese) ist im Archiv verfügbar. Status: Bereitschaft für Fiscalía Santo Domingo Este. Deine Unterschrift erforderlich.', timestamp: '2026-04-06 09:15', priority: 'dringend', read: false }, { id: 3, sender: 'System', senderType: 'system', subject: 'Session aktiv · Impertinenz +5%', preview: 'Deine Impertinenz ist gestiegen...', body: 'Durch das Brechen einer optionalen Regel ist deine Impertinenz auf 27% gestiegen. Die Struktur nimmt dich ernster.', timestamp: '2026-04-05 22:47', priority: 'normal', read: true } ]; let currentUser = null; // DOM Elements const btnLogin = document.getElementById('btn-login'); const btnPostfach = document.getElementById('btn-postfach'); const btnGlossar = document.getElementById('btn-glossar'); const loginModal = document.getElementById('login-modal'); const messageModal = document.getElementById('message-modal'); const messagesList = document.getElementById('messages-list'); const loginForm = document.getElementById('login-form'); const msgCount = document.getElementById('msg-count'); const unreadCount = document.getElementById('unread-count'); const userStatus = document.getElementById('user-status'); // FUNCTIONS function openModal(modalId) { document.getElementById(modalId).classList.add('active'); } function closeModal(modalId) { document.getElementById(modalId).classList.remove('active'); } // Überarbeitet auf die Nutzung von semantischen HTML5-Elementen im JS render function renderMessages() { messagesList.innerHTML = ''; const unread = messages.filter(m => !m.read).length; unreadCount.textContent = unread; msgCount.textContent = unread; if (messages.length === 0) { document.getElementById('postfach-empty').style.display = 'block'; return; } messages.forEach(msg => { // Nutzt das semantische
für die Nachrichtenliste const msgEl = document.createElement('article'); msgEl.className = `message-item ${msg.read ? '' : 'unread'}`; // Nutzt das präzise HTML5