Header update for the issue view page #114

Closed
opened 2026-09-05 04:20:27 +00:00 by crueber · 3 comments
Owner

image

The header seems to "blur" in to the top comment/status change. There should be something to set it apart to make it clear that is the header.

The header should float the state to the right side, so the left side should have the issue number and the title, and the right side should have the state.

![image](/attachments/9e610902-b32d-4d16-bb70-9dd29a5bce1e) The header seems to "blur" in to the top comment/status change. There should be something to set it apart to make it clear that is the header. The header should float the state to the right side, so the left side should have the issue number and the title, and the right side should have the state.
Author
Owner

Fixed by #122 (branch fix/issue-114): header is now a ruled block with the state badge floated right — verified in a real browser on open + closed issues, dark + light, zero console errors.

Fixed by #122 (branch fix/issue-114): header is now a ruled block with the state badge floated right — verified in a real browser on open + closed issues, dark + light, zero console errors.
Author
Owner

PR #122 review (fix/issue-114, c550100): APPROVED — ready to merge.

Scope: single-file, Issue.jsx header only (20+/9-), as expected. No fixes pushed (nothing to fix).

  • Separation (web/src/pages/Issue.jsx:243): header wraps in — bottom rule + spacing in both themes, same zinc-200/800 tokens ThreadTimeline dividers use (ThreadTimeline.jsx:39,51). Directly answers BEFORE shot (byline blurred into first divider-separated row with first:pt-0).
  • Badge right, list conventions (Issue.jsx:248): flex justify-between + shrink-0 chip; chip chip-open / chip chip-closed are the exact classes Issues.jsx statePill and ui.css:43-49 use. Text keeps the same source of truth (open vs closedStateLabel(reason): not_planned/completed/plain, issue-events.js:92-96) — no behavior change. Case difference (Title vs lower) is pre-existing and normalized by chip uppercase CSS.
  • Number+title left (Issue.jsx:245-247): h2 flex-1, number muted (text-zinc-500/400), title plain. h2 level unchanged under Repo.jsx h1:492 — hierarchy sane.
  • Laws: 1 no new deps (classes only); 7 N/A (no async work); 8 pure view, no new routes/providers/seams; 12 no doc update needed (header markup granularity not pinned in docs).
  • Verify (scratch worktree /tmp/pr122, removed after): node --test web/test/unit/*.test.js 257/257 pass; vite build clean (110 modules, 1.6s). No browser per task instructions (node tests + reasoning). No docker/compose touched; main worktree untouched (read-only diff there).

MERGE RECOMMENDATION: ready to merge.

PR #122 review (fix/issue-114, c550100): APPROVED — ready to merge. Scope: single-file, Issue.jsx header only (20+/9-), as expected. No fixes pushed (nothing to fix). - Separation (web/src/pages/Issue.jsx:243): header wraps in <header class="mb-4 border-b border-zinc-200 pb-3 dark:border-zinc-800"> — bottom rule + spacing in both themes, same zinc-200/800 tokens ThreadTimeline dividers use (ThreadTimeline.jsx:39,51). Directly answers BEFORE shot (byline blurred into first divider-separated row with first:pt-0). - Badge right, list conventions (Issue.jsx:248): flex justify-between + shrink-0 chip; chip chip-open / chip chip-closed are the exact classes Issues.jsx statePill and ui.css:43-49 use. Text keeps the same source of truth (open vs closedStateLabel(reason): not_planned/completed/plain, issue-events.js:92-96) — no behavior change. Case difference (Title vs lower) is pre-existing and normalized by chip uppercase CSS. - Number+title left (Issue.jsx:245-247): h2 flex-1, number muted (text-zinc-500/400), title plain. h2 level unchanged under Repo.jsx h1:492 — hierarchy sane. - Laws: 1 no new deps (classes only); 7 N/A (no async work); 8 pure view, no new routes/providers/seams; 12 no doc update needed (header markup granularity not pinned in docs). - Verify (scratch worktree /tmp/pr122, removed after): node --test web/test/unit/*.test.js 257/257 pass; vite build clean (110 modules, 1.6s). No browser per task instructions (node tests + reasoning). No docker/compose touched; main worktree untouched (read-only diff there). MERGE RECOMMENDATION: ready to merge.
Author
Owner

Fixed by PR #122 (review clean; 257/257 node tests), merged. Closing.

Fixed by PR #122 (review clean; 257/257 node tests), merged. Closing.
crueber added this to the v1 milestone 2026-09-10 22:20:46 +00:00
Sign in to join this conversation.
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
crueber/walhub#114
No description provided.