feat(tui): improve scrollbar visibility and extend to all panels
CI / test (pull_request) Successful in 1m46s
CI / lint (pull_request) Successful in 1m16s
CI / vulncheck (pull_request) Successful in 56s

Use block characters (█/░) with accent coloring for scrollbar thumb/track
instead of box-drawing chars that blend with panel borders. Auto-derive
scrollbar from content overflow in titledPanelH. Add scrollbar to logs
and maintenance bottom panels.
This commit is contained in:
2026-07-02 11:09:07 -04:00
parent d6ba7d9af8
commit 1cfa0571c8
3 changed files with 27 additions and 6 deletions
+5 -2
View File
@@ -70,6 +70,9 @@ func (m Model) titledPanelH(title, content, footer string, width, height, scroll
}
visible := contentLines[scrollOffset:end]
if sb.total == 0 && len(contentLines) > bodyH {
sb = scrollbar{pos: scrollOffset, total: len(contentLines), visible: bodyH}
}
sbVisible := sb.visible
if sbVisible <= 0 {
sbVisible = bodyH
@@ -96,8 +99,8 @@ func (m Model) titledPanelH(title, content, footer string, width, height, scroll
}
}
scrollTrack := bc.Render("")
scrollThumb := lipgloss.NewStyle().Foreground(m.theme.Muted).Render("")
scrollTrack := lipgloss.NewStyle().Foreground(m.theme.Border).Render("")
scrollThumb := lipgloss.NewStyle().Foreground(m.theme.Accent).Render("")
borderLine := func(line string, idx int) string {
rightBorder := bc.Render("│")