fix(shell): the attention count was red text on its own red fill #67

Merged
julian merged 1 commit from fix/nav-count-contrast into main 2026-09-22 11:53:04 +02:00
Owner

The nav item's .count.bad painted --od-status-critical-ink on a --od-status-critical background. The ink tokens are the text-safe variants for the page, not for their own fill, so the badge came out red on red:

theme before after
dark #ef7070 on #d03b3b — 1.7:1 white on #d03b3b — 4.8:1
light #c22f2f on #d03b3b — worse same

The one count somebody actually has to act on (failed runs, ahead of the merely-busy count next to it) was the one that could not be read.

White on the critical fill is what NotificationCenter's error count and the danger button already do, so this follows them rather than inventing a token. Grepped for the same ink-on-its-own-fill pattern elsewhere in shell/ui — this was the only one, and the Android app has no equivalent.

One line plus a comment saying why the ink token is wrong here.

🤖 Generated with Claude Code

The nav item's `.count.bad` painted `--od-status-critical-ink` on a `--od-status-critical` background. The ink tokens are the text-safe variants for the **page**, not for their own fill, so the badge came out red on red: | theme | before | after | |---|---|---| | dark | `#ef7070` on `#d03b3b` — **1.7:1** | white on `#d03b3b` — **4.8:1** | | light | `#c22f2f` on `#d03b3b` — worse | same | The one count somebody actually has to act on (failed runs, ahead of the merely-busy count next to it) was the one that could not be read. White on the critical fill is what `NotificationCenter`'s error count and the danger button already do, so this follows them rather than inventing a token. Grepped for the same ink-on-its-own-fill pattern elsewhere in `shell`/`ui` — this was the only one, and the Android app has no equivalent. One line plus a comment saying why the ink token is wrong here. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(shell): the attention count was red text on its own red fill
All checks were successful
Build and Deploy / verify (pull_request) Successful in 1m50s
Build and Deploy / build (pull_request) Has been skipped
Dependency Check / dependencies (pull_request) Successful in 1m10s
7468826018
The nav item's `.count.bad` painted --od-status-critical-ink on a
--od-status-critical background, but the ink tokens are the text-safe
variants for the PAGE, not for their own fill: #ef7070 on #d03b3b is about
1.7:1 in dark, and light was worse at #c22f2f on #d03b3b. The one count
somebody actually has to act on was the one that could not be read.

White on the critical fill, which is about 4.8:1 and what
NotificationCenter's error count and the danger button already do.
julian approved these changes 2026-09-22 11:51:52 +02:00
julian left a comment

Verified the token values on both themes (#c22f2f / #ef7070 ink on #d03b3b fill), confirmed there is no existing "on-critical" text token, and that NotificationCenter and the danger button already use #fff on --od-status-critical. Grep across packages/ agrees this was the only ink-on-own-fill pairing. LGTM.

Verified the token values on both themes (`#c22f2f` / `#ef7070` ink on `#d03b3b` fill), confirmed there is no existing "on-critical" text token, and that `NotificationCenter` and the danger button already use `#fff` on `--od-status-critical`. Grep across `packages/` agrees this was the only ink-on-own-fill pairing. LGTM.
julian merged commit 6145052ff7 into main 2026-09-22 11:53:04 +02:00
julian deleted branch fix/nav-count-contrast 2026-09-22 11:53:04 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No assignees
2 participants
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
OpsDeck/core!67
No description provided.