diff --git a/app/static/styles.css b/app/static/styles.css
index 5ecf7d9..2792960 100644
--- a/app/static/styles.css
+++ b/app/static/styles.css
@@ -240,6 +240,13 @@ input[type="radio"] { accent-color: var(--control-accent); }
}
[data-theme="dark"] .btn-secondary:hover { background: #1f2b3f; }
+/* Generic disabled button state */
+.btn:disabled {
+ opacity: 0.55;
+ cursor: not-allowed;
+ filter: grayscale(0.15);
+}
+
.actions {
margin-top: 16px;
display: flex;
@@ -537,8 +544,8 @@ input[type="radio"] { accent-color: var(--control-accent); }
top: 20px;
right: 20px;
background: var(--card-bg);
- border: 1px solid hsl(142, 71%, 45%);
- background-color: hsl(142, 82%, 30%);
+ border: 1px solid hsl(142, 82%, 30%);
+ background-color: hsl(142, 71%, 45%);
border-radius: 12px;
box-shadow: 0 10px 40px rgba(0,0,0,0.2);
padding: 16px 20px;
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();
}
}