#552: a disabled dialog button looks disabled (v0.6.209) #562

Merged
Cordy merged 3 commits from fix-552d into main 2026-09-16 02:58:59 +00:00
Owner

Found during the live pass over v0.6.208 on files-bao.

The collision check switches the primary button off correctly — verified in the page, gadd-go.disabled === true and gren-go.disabled === true on a clash. But the button carried on rendering as a solid, full-colour primary: getComputedStyle(btn).opacity === "1". It invites the click it is going to ignore.

Cause is scope, not logic. Every :disabled rule in index.html belonged to something else:

.pgn[disabled]                              { … }
.uabtn:disabled                             { opacity: .5; cursor: not-allowed; }
.uabtn:disabled:hover                       { … }
#adminview .verfoot button[disabled]        { opacity: .55; cursor: default; }

Dialog action buttons are none of those — .dlgactions button had no disabled styling at all, so the state was invisible in every dialog, not just the three the #552 check touches. It simply had not been visible before because nothing disabled a dialog button until v0.6.208.

The rule goes beside .dlgactions button.danger, the global dialog-button family de-scoped in v0.6.203, so the fix lands once for the whole app rather than per dialog — the same call taken then.

.dlgactions button:disabled { opacity: .5; cursor: not-allowed; }

Web suite green, node --check clean, rule asserted outside any @media block.

Found during the live pass over v0.6.208 on files-bao. The collision check switches the primary button off correctly — verified in the page, `gadd-go.disabled === true` and `gren-go.disabled === true` on a clash. But the button carried on rendering as a solid, full-colour primary: `getComputedStyle(btn).opacity === "1"`. It invites the click it is going to ignore. Cause is scope, not logic. Every `:disabled` rule in `index.html` belonged to something else: ``` .pgn[disabled] { … } .uabtn:disabled { opacity: .5; cursor: not-allowed; } .uabtn:disabled:hover { … } #adminview .verfoot button[disabled] { opacity: .55; cursor: default; } ``` Dialog action buttons are none of those — `.dlgactions button` had no disabled styling at all, so the state was invisible in **every** dialog, not just the three the #552 check touches. It simply had not been visible before because nothing disabled a dialog button until v0.6.208. The rule goes beside `.dlgactions button.danger`, the global dialog-button family de-scoped in v0.6.203, so the fix lands once for the whole app rather than per dialog — the same call taken then. ```css .dlgactions button:disabled { opacity: .5; cursor: not-allowed; } ``` Web suite green, `node --check` clean, rule asserted outside any `@media` block.
Cordy scheduled this pull request to auto merge when all checks succeed 2026-09-16 02:54:05 +00:00
ci: literal i18n keys (retry, indent-agnostic)
Some checks failed
ci / test-and-build (pull_request) Failing after 49s
255c755e56
Cordy merged commit faa5038b5a into main 2026-09-16 02:58:59 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#562
No description provided.