fix(webui/config): box the master-toggle control row like the rest of a section

On /admin/config/general the Basic section's fields sit in the darker inset
".config-fields" box, but the Mail Enabled toggle and Installation Mode select
did not — their control sits in its own .mail-master-toggle / .git-master-toggle
wrapper, a sibling of .config-fields, which the boxing rule never covered. So a
gated section's enable row read as loose, unboxed content above the (hidden)
options.

Extend the boxed-panel rule to the master-toggle wrappers (mail / install-mode /
generic / backup-remote). Element-qualified to the wrapper <div> because
renderToggleSection stamps the same class on the inner .checkbox-label pill too,
which must not get its own nested box.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Signed-off-by: librelad <librelad@digitalangels.vip>
This commit is contained in:
librelad 2026-07-07 21:40:57 +01:00
parent 126f563a07
commit ada5a4c177

View File

@ -268,9 +268,19 @@
/* Boxed content panel for a config section's body (the area after the divider, /* Boxed content panel for a config section's body (the area after the divider,
before any action buttons). A darker inset inside the section card so the before any action buttons). A darker inset inside the section card so the
options read as their own content section matches the boxed look used options read as their own content section matches the boxed look used
elsewhere. Applies to regular option grids and the block editors elsewhere. Covers regular option grids (.config-fields); the master-toggle
(domains/catalog/whitelist). Scoped to the main config editor (not app-config). */ control row of a gated section (the enable checkbox / install-mode select sits
in its OWN wrapper, a sibling of .config-fields, so without this it was the one
part of the section body left unboxed e.g. Mail Enabled, Installation Mode);
and the block editors (domains/catalog/whitelist). The toggle wrappers are
element-qualified to the <div> because renderToggleSection puts the same class
on the inner .checkbox-label pill too, which must not get its own box. Scoped
to the main config editor (not app-config). */
.config-category:not(.app-config) .config-fields, .config-category:not(.app-config) .config-fields,
.config-category:not(.app-config) div.mail-master-toggle,
.config-category:not(.app-config) div.git-master-toggle,
.config-category:not(.app-config) div.generic-master-toggle,
.config-category:not(.app-config) div.backup-remote-toggle,
.config-category:not(.app-config) .domain-building-blocks, .config-category:not(.app-config) .domain-building-blocks,
.config-category:not(.app-config) .whitelist-building-blocks { .config-category:not(.app-config) .whitelist-building-blocks {
background: rgba(0, 0, 0, 0.20); background: rgba(0, 0, 0, 0.20);