fix(tui): visual polish and layout improvements #18

Merged
lerko merged 3 commits from fix/tui-visual-polish into main 2026-05-23 16:12:58 +00:00
Owner

Summary

  • Group selection highlight: group rows now show selection background when navigated to (merged override foreground onto selection style)
  • Layout constants: extracted chrome magic numbers to named constants, fixed viewport sizing consistency
  • Group history graphs: aggregate children status as green/red dots — visually distinct from site sparklines, excludes paused/maintenance children
  • Zebra striping: alternating subtle row backgrounds for easier table scanning
  • Detail breadcrumb: Sites > Group > Name path at top of detail panel
  • Sparkline stats: min/avg/max latency (or heartbeat count) below detail sparkline
  • Collapse persistence: new preferences table (SQLite + Postgres), group collapse state survives restarts
  • Stable monitor count: tab label and footer count total monitors (excluding groups) regardless of collapse state
  • Universal group icons: replaced Nerd Font glyphs with / for cross-font compatibility

Test plan

  • Navigate up/down through groups — verify selection highlight visible on group rows
  • Resize terminal — verify no layout overflow or clipping
  • Collapse/expand groups — verify count in Sites tab stays stable
  • Restart app — verify collapsed groups remain collapsed
  • Open detail panel — verify breadcrumb shows correct path and sparkline stats render
  • Check group history dots render green/red correctly, maintenance children excluded
## Summary - **Group selection highlight**: group rows now show selection background when navigated to (merged override foreground onto selection style) - **Layout constants**: extracted chrome magic numbers to named constants, fixed viewport sizing consistency - **Group history graphs**: aggregate children status as green/red `●` dots — visually distinct from site sparklines, excludes paused/maintenance children - **Zebra striping**: alternating subtle row backgrounds for easier table scanning - **Detail breadcrumb**: `Sites > Group > Name` path at top of detail panel - **Sparkline stats**: min/avg/max latency (or heartbeat count) below detail sparkline - **Collapse persistence**: new `preferences` table (SQLite + Postgres), group collapse state survives restarts - **Stable monitor count**: tab label and footer count total monitors (excluding groups) regardless of collapse state - **Universal group icons**: replaced Nerd Font glyphs with `▶`/`▼` for cross-font compatibility ## Test plan - [x] Navigate up/down through groups — verify selection highlight visible on group rows - [x] Resize terminal — verify no layout overflow or clipping - [x] Collapse/expand groups — verify count in Sites tab stays stable - [x] Restart app — verify collapsed groups remain collapsed - [x] Open detail panel — verify breadcrumb shows correct path and sparkline stats render - [x] Check group history dots render green/red correctly, maintenance children excluded
lerko added 3 commits 2026-05-23 16:12:19 +00:00
Group rows now show selection background when navigated to. Layout
chrome extracted to named constants to prevent viewport drift. Groups
display aggregate history as dot sparkline (●) distinct from site
bar sparklines, with uptime computed from active children only.
Paused and maintenance children excluded from group aggregates.
Add alternating row backgrounds for easier table scanning. Detail panel
now shows breadcrumb path (Sites > Group > Name) and min/avg/max latency
stats below the sparkline. Group collapse state persists across restarts
via new preferences table in both SQLite and Postgres.
Site count in tab label and footer now reflects total monitors
(excluding groups) regardless of collapse state. Down count also
computed from all sites so collapsed groups with down children
still surface in the badge. Replaced Nerd Font folder glyphs
with standard Unicode triangles for cross-font compatibility.
lerko merged commit ba53845193 into main 2026-05-23 16:12:58 +00:00
lerko deleted branch fix/tui-visual-polish 2026-05-23 16:12:58 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lerkolabs/uptop#18