Drop the header verdict and centre the rail #166

Closed
opened 2026-08-24 11:23:47 +01:00 by naps62-yolo · 0 comments
Owner

Two problems with the top rail.

"all signals nominal" occupies the middle of the header permanently to say that
nothing happened. The lamp beside the wordmark already carries that.

.rail is full-bleed — padding: var(--space-3) var(--space-6) with no inner
wrapper — while .deck is max-width: 68rem. On a wide screen the header
spans edge to edge and the content sits centred in a narrower column, so the
wordmark, the search box and the version readout line up with nothing.

What to change

Remove #master-verdict entirely: the element, its styling, and the code in
web/src/main.ts that writes into it, in every state including degraded and
unreachable. The lamp becomes the only header signal, and
masterLamp.dataset.state already distinguishes ok, degraded,
unreachable and probing.

Fault detail is not lost — the health board (.board) already reports every
check with its detail string. Confirm the degraded and daemon-unreachable cases
still surface there before deleting the header copy, and if a detail only ever
appeared in the header, move it to the board.

Wrap the rail's contents in a container capped at the same 68rem and centred,
so the header aligns with the deck below it. The rail's own background, border
and shadow stay full-bleed; only its contents are constrained.

Done looks like

  • No verdict text in the header in any state.
  • A degraded or unreachable daemon is still visible: the lamp changes and the
    health board names the failing check.
  • On a wide viewport the wordmark aligns with the left edge of the deck content
    and the version readout with its right edge.
  • Verified in the browser at a wide viewport and at both mobile breakpoints.

Non-goals

  • The lamp, the nav buttons, the search box and the version readout all stay.
  • The health board's own layout is not part of this change.

Depends on: #159

Two problems with the top rail. "all signals nominal" occupies the middle of the header permanently to say that nothing happened. The lamp beside the wordmark already carries that. `.rail` is full-bleed — `padding: var(--space-3) var(--space-6)` with no inner wrapper — while `.deck` is `max-width: 68rem`. On a wide screen the header spans edge to edge and the content sits centred in a narrower column, so the wordmark, the search box and the version readout line up with nothing. ## What to change Remove `#master-verdict` entirely: the element, its styling, and the code in `web/src/main.ts` that writes into it, in every state including `degraded` and `unreachable`. The lamp becomes the only header signal, and `masterLamp.dataset.state` already distinguishes `ok`, `degraded`, `unreachable` and `probing`. Fault detail is not lost — the health board (`.board`) already reports every check with its detail string. Confirm the degraded and daemon-unreachable cases still surface there before deleting the header copy, and if a detail only ever appeared in the header, move it to the board. Wrap the rail's contents in a container capped at the same `68rem` and centred, so the header aligns with the deck below it. The rail's own background, border and shadow stay full-bleed; only its contents are constrained. ## Done looks like - No verdict text in the header in any state. - A degraded or unreachable daemon is still visible: the lamp changes and the health board names the failing check. - On a wide viewport the wordmark aligns with the left edge of the deck content and the version readout with its right edge. - Verified in the browser at a wide viewport and at both mobile breakpoints. ## Non-goals - The lamp, the nav buttons, the search box and the version readout all stay. - The health board's own layout is not part of this change. --- Depends on: #159
naps62-yolo added this to the Feedback pass milestone 2026-08-24 11:23:47 +01:00
naps62-yolo added the difficulty/easyphase/5-uitype/chorearea/web labels 2026-08-24 11:23:47 +01:00
naps62-yolo added a new dependency 2026-08-24 11:23:53 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: yolo/arr#166