diff --git a/containers/libreportal/frontend/core/setup/css/setup-wizard.css b/containers/libreportal/frontend/core/setup/css/setup-wizard.css index 81a10ad..716ea45 100755 --- a/containers/libreportal/frontend/core/setup/css/setup-wizard.css +++ b/containers/libreportal/frontend/core/setup/css/setup-wizard.css @@ -1315,8 +1315,9 @@ body.setup-wizard-open .eo-modal { z-index: 10000; } /* The system drive: ticked and non-interactive, because apps fall back to it and it therefore cannot be deselected. Kept at full opacity — unlike a refused drive, it is not a lesser option, it is the default one. */ +/* Not a choice, so not clickable and not dimmed: it is the default, not a + lesser option. Kept visually distinct from the selectable cards below. */ .setup-storage-locked { opacity: 1; cursor: default; } -.setup-storage-locked input[type=checkbox] { cursor: default; } .setup-storage-badge-ok { background: rgba(90, 220, 150, 0.18); color: #86ecb6; @@ -1347,3 +1348,29 @@ body.setup-wizard-open .eo-modal { z-index: 10000; } } .setup-storage-meter-mid > span { background: rgba(255, 206, 110, 0.9); } .setup-storage-meter-high > span { background: rgba(255, 138, 138, 0.95); } + +/* The system disk has no checkbox, so this keeps its text aligned with the + drives below that do. Same footprint as .setup-app input[type=checkbox]. */ +.setup-storage-spacer { + width: 20px; + height: 20px; + flex-shrink: 0; +} + +/* Divider between "where apps go regardless" and "what you can opt into". */ +.setup-storage-divider { + display: flex; + align-items: center; + gap: 10px; + margin: 14px 2px 10px; + font-size: 0.78em; + letter-spacing: 0.06em; + text-transform: uppercase; + opacity: 0.72; +} +.setup-storage-divider::after { + content: ""; + flex: 1; + height: 1px; + background: rgba(255, 255, 255, 0.16); +} diff --git a/containers/libreportal/frontend/core/setup/js/setup-wizard.js b/containers/libreportal/frontend/core/setup/js/setup-wizard.js index 5d5df8c..8ec11b6 100755 --- a/containers/libreportal/frontend/core/setup/js/setup-wizard.js +++ b/containers/libreportal/frontend/core/setup/js/setup-wizard.js @@ -492,9 +492,20 @@ class SetupWizard { const title = o.locked ? 'System disk' : c.path; + // The system disk carries NO checkbox — not even a disabled one. Apps fall + // back to it whatever happens, so it is not a choice, and a control that + // can never change state reads as "locked option" rather than "this is + // simply where things go". It is a
for the same reason: a