feat(tui): layout and interaction polish #33

Merged
lerko merged 4 commits from fix/tui-polish into main 2026-05-20 16:33:58 +00:00
Owner

Summary

  • Pin footer/help bar to terminal bottom so it does not float after content
  • Style context hints with bold purple keys and dim descriptions for scannability
  • Add broot-style tab affordances in header (stream/cards) and footer (capture)
  • Auto-clear status messages after 2s with debounced sequence counter
  • Render entity body as markdown via glamour in detail pane
  • Add scroll position indicator and pgup/pgdown/g/G to detail pane
  • Inline capture label in drawer border
  • Group cards by intent (pinned/grab/read/fill) with gutter labels matching stream view

Test plan

  • Open TUI, verify help bar pinned to bottom regardless of content length
  • Verify header shows stream/cards as tabs with keybinding affordances
  • Create entity, verify created status appears and auto-clears after 2s
  • Rapidly create then delete, verify second status stays full duration
  • Open detail on entity with markdown body, verify rendered output
  • Scroll detail pane, verify position indicator updates
  • Press a to capture, verify capture border label
  • Switch to cards mode, verify intent groups with gutter labels
  • Tab through intents, verify grouping only shows on all
## Summary - Pin footer/help bar to terminal bottom so it does not float after content - Style context hints with bold purple keys and dim descriptions for scannability - Add broot-style tab affordances in header (stream/cards) and footer (capture) - Auto-clear status messages after 2s with debounced sequence counter - Render entity body as markdown via glamour in detail pane - Add scroll position indicator and pgup/pgdown/g/G to detail pane - Inline capture label in drawer border - Group cards by intent (pinned/grab/read/fill) with gutter labels matching stream view ## Test plan - [x] Open TUI, verify help bar pinned to bottom regardless of content length - [x] Verify header shows stream/cards as tabs with keybinding affordances - [x] Create entity, verify created status appears and auto-clears after 2s - [x] Rapidly create then delete, verify second status stays full duration - [x] Open detail on entity with markdown body, verify rendered output - [x] Scroll detail pane, verify position indicator updates - [x] Press a to capture, verify capture border label - [x] Switch to cards mode, verify intent groups with gutter labels - [x] Tab through intents, verify grouping only shows on all
lerko added 4 commits 2026-05-20 16:15:30 +00:00
Content area now enforces full height so the context help bar stays
pinned to the terminal bottom. Hint keys rendered with bold highlight
color for scannability. Status messages (created, deleted, etc.)
auto-clear after 2 seconds, reverting to the entity count.
Header now renders stream/cards as tabs with keybindings inline —
active tab highlighted, inactive shows the key to switch. Footer
shows a capture tab affordance when in list state. Redundant mode
and capture hints removed from the context hint bar.
Detail pane now pipes entity body through charmbracelet/glamour for
styled markdown output — headers, bold, code blocks, lists. Uses
hardcoded dark style to avoid terminal query freeze in alt screen.
Status messages now use a sequence counter so rapid actions don't
cause premature clearing. Detail pane shows scroll position and
supports pgup/pgdown/g/G. Capture drawer border includes inline
label. Cards view groups by intent (pinned/grab/read/fill) with
gutter labels matching the stream view's date grouping pattern.
lerko merged commit 3daa5a2e11 into main 2026-05-20 16:33:58 +00:00
lerko deleted branch fix/tui-polish 2026-05-20 16:33:58 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lerko/nib-v1#33