feat(tui): add broot-style tab affordances to header and footer

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.
This commit is contained in:
2026-05-20 11:16:58 -04:00
parent 4e0ac8402f
commit e20fae3543
2 changed files with 28 additions and 17 deletions
+5 -8
View File
@@ -786,16 +786,13 @@ func (m model) listContent() string {
}
func (m model) headerView() string {
header := titleStyle.Render("nib")
modeName := "stream"
if m.mode == modeCards {
modeName = "cards"
}
header += " " + modeStyle.Render(modeName)
header := titleStyle.Render("nib") + " "
header += renderTab("stream", "1", m.mode == modeStream)
header += " " + separatorStyle.Render("│") + " "
header += renderTab("cards", "2", m.mode == modeCards)
if m.filterTag != "" {
header += " " + filterPillStyle.Render("#"+m.filterTag)
header += " " + filterPillStyle.Render("#"+m.filterTag)
}
if m.hasSearch() {