Admin: a folded card's readout shares its row with Configure

Folded, the status readout took a full line and Configure sat alone beneath
it. The readout now moves into the bottom row beside the button, the button
staying bottom-right even when a long readout wraps; opening the card puts
the readout back above the form, where it was.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Waters Church
2026-09-13 14:10:39 -04:00
co-authored by Claude Fable 5.1
parent cd15efa7e6
commit bed2212850
2 changed files with 7 additions and 2 deletions
+3 -2
View File
@@ -298,7 +298,7 @@ details.field-group > summary.field-group-title:hover { color: var(--text); }
/* the card's one action row: status on the left, Configure / Apply on the right */ /* the card's one action row: status on the left, Configure / Apply on the right */
.module-actions { .module-actions {
display: flex; display: flex;
align-items: center; align-items: flex-end; /* the button stays bottom-right when a readout wraps */
gap: 10px; gap: 10px;
margin-top: 10px; margin-top: 10px;
} }
@@ -306,7 +306,8 @@ details.field-group > summary.field-group-title:hover { color: var(--text); }
.module-name.is-toggle:hover, .module-name.is-toggle:hover,
.module-name.is-toggle:focus-visible { color: var(--accent); outline: none; } .module-name.is-toggle:focus-visible { color: var(--accent); outline: none; }
.module-actions .admin-status { flex: 1; margin-top: 0; } .module-actions .admin-status { flex: 1; margin-top: 0; }
.module-actions .btn { margin-left: auto; } .module-actions .module-status { flex: 0 1 auto; min-width: 0; margin-top: 0; }
.module-actions .btn { flex: none; margin-left: auto; }
.admin-status { min-height: 16px; font-size: 12px; color: var(--muted); margin-top: 8px; } .admin-status { min-height: 16px; font-size: 12px; color: var(--muted); margin-top: 8px; }
.admin-status.error { color: var(--danger); } .admin-status.error { color: var(--danger); }
+4
View File
@@ -600,6 +600,10 @@ function buildModuleCard(mod) {
status.hidden = !open; status.hidden = !open;
save.textContent = open ? 'Apply' : 'Configure'; save.textContent = open ? 'Apply' : 'Configure';
save.className = open ? 'btn primary' : 'btn'; save.className = open ? 'btn primary' : 'btn';
// Folded, the readout shares the bottom row with Configure instead of
// taking a line of its own; open, it goes back above the form.
if (open) card.insertBefore(healthEl, mountError);
else actions.insertBefore(healthEl, status);
try { sessionStorage.setItem(openKey, open ? '1' : '0'); } catch { /* fine */ } try { sessionStorage.setItem(openKey, open ? '1' : '0'); } catch { /* fine */ }
}; };
let wasOpen = false; let wasOpen = false;