diff --git a/go-cli/cmd/main.go b/go-cli/cmd/main.go index c78e321..37ed397 100644 --- a/go-cli/cmd/main.go +++ b/go-cli/cmd/main.go @@ -174,6 +174,11 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { m.viewport.SetContent(m.renderList()) m.detailViewport.SetContent(m.renderDetails()) m.detailViewport.GotoTop() // Reset detail scroll position + + // Auto-scroll left viewport to keep cursor visible + if m.cursor < m.viewport.YOffset { + m.viewport.YOffset = m.cursor + } } case "down", "j": @@ -182,6 +187,11 @@ func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { m.viewport.SetContent(m.renderList()) m.detailViewport.SetContent(m.renderDetails()) m.detailViewport.GotoTop() // Reset detail scroll position + + // Auto-scroll left viewport to keep cursor visible + if m.cursor >= m.viewport.YOffset+m.viewport.Height { + m.viewport.YOffset = m.cursor - m.viewport.Height + 1 + } } } }