diff --git a/app/templates/elsa_mono_form.html b/app/templates/elsa_mono_form.html index 2b7b055..a147f55 100644 --- a/app/templates/elsa_mono_form.html +++ b/app/templates/elsa_mono_form.html @@ -103,13 +103,13 @@

Medien

- - -
@@ -173,6 +173,9 @@ // Media management functions (global scope for onclick handlers) function addMediaType(type) { + const btn = document.getElementById('btn-' + type); + // Prevent duplicate sections of same type + if (btn && btn.disabled) { return; } const container = document.getElementById('media-sections'); const sectionId = 'section-' + sectionCounter++; @@ -243,6 +246,11 @@ ''; container.appendChild(section); + // Disable button for this type until section removed + if (btn) { + btn.disabled = true; + btn.title = 'Sektion bereits hinzugefügt – entfernen zum erneuten Hinzufügen'; + } // Add first row automatically addMediaRow(sectionId, type); @@ -314,6 +322,7 @@ const section = document.getElementById(sectionId); if (section) { if (confirm('Möchten Sie diese Sektion wirklich entfernen?')) { + const type = section.getAttribute('data-type'); // Clean up tracking for removed rows const rows = section.querySelectorAll('tr[id]'); rows.forEach(row => { @@ -323,6 +332,12 @@ } }); section.remove(); + // Re-enable button for this media type + const btn = document.getElementById('btn-' + type); + if (btn) { + btn.disabled = false; + btn.title = 'Sektion hinzufügen'; + } updateSubmitButton(); } }