const toast = document.querySelector("#toast"); const statusStrip = document.querySelector("#statusStrip"); const flowCopy = document.querySelectorAll("[data-flow-copy]"); function syncFlowCopyState() { flowCopy.forEach((element) => { element.classList.toggle( "is-overflowing", element.scrollWidth > element.clientWidth + 1 ); }); } if (flowCopy.length) { const resizeObserver = new ResizeObserver(syncFlowCopyState); resizeObserver.observe(document.querySelector(".workspace")); flowCopy.forEach((element) => { new MutationObserver(syncFlowCopyState).observe(element, { characterData: true, childList: true, subtree: true, }); }); document.fonts?.ready.then(syncFlowCopyState); syncFlowCopyState(); } function showToast(message) { toast.textContent = message; toast.classList.add("show"); window.clearTimeout(showToast.timer); showToast.timer = window.setTimeout(() => toast.classList.remove("show"), 2800); } document.querySelectorAll(".nav-item").forEach((item) => { item.addEventListener("click", () => { document.querySelectorAll(".nav-item").forEach((nav) => nav.classList.remove("active")); item.classList.add("active"); const label = item.textContent.replace(/\s+/g, " ").trim(); showToast(`${label} geöffnet. Für den Demo-Mockup bleibt die Übersicht im Fokus.`); }); }); document.querySelectorAll(".language-toggle button").forEach((button) => { button.addEventListener("click", () => { document.querySelectorAll(".language-toggle button").forEach((btn) => btn.classList.remove("selected")); button.classList.add("selected"); const language = button.textContent.trim(); if (language === "DE") { showToast("Deutsch bleibt die Hauptsprache der App."); } else { showToast(`${language} wird als Materialsprache erkannt. Die Oberfläche bleibt deutsch.`); } }); }); document.querySelectorAll(".action-row").forEach((button) => { button.addEventListener("click", () => { showToast(button.dataset.message); }); }); document.querySelectorAll(".confirm-button").forEach((button) => { button.addEventListener("click", () => { const row = button.closest("tr"); row.classList.remove("pending-row"); row.querySelector("td:nth-child(7)").innerHTML = 'Bestätigt'; row.querySelector("td:nth-child(8)").innerHTML = ''; showToast("Termin bestätigt und in Mayas Lernplan übernommen."); }); }); document.querySelector("#linkCheckBtn").addEventListener("click", () => { showToast("Verknüpfungen geprüft: Folien 10-15 passen zu Notizen 4-6."); }); document.querySelector("#addEventBtn").addEventListener("click", () => { const tbody = document.querySelector("#eventRows"); const row = document.createElement("tr"); row.innerHTML = `