// Wichtel-Werkstatt: Copy-Buttons und Bestätigungsdialoge. document.addEventListener("click", (event) => { const button = event.target.closest("[data-copy]"); if (!button) return; const source = document.querySelector(button.dataset.copy); if (!source) return; const text = source.value || source.textContent; const done = () => { const original = button.textContent; button.textContent = "Kopiert ✓"; setTimeout(() => { button.textContent = original; }, 1600); }; if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(text).then(done).catch(() => fallbackCopy(source, done)); } else { fallbackCopy(source, done); } }); function fallbackCopy(source, done) { source.focus(); source.select(); try { document.execCommand("copy"); done(); } catch { // Kopieren nicht möglich – Text bleibt im Feld zum manuellen Markieren. } } document.addEventListener("submit", (event) => { const form = event.target.closest("form[data-confirm]"); if (form && !window.confirm(form.dataset.confirm)) { event.preventDefault(); } });