Change summary
internal/ui/dialog/commands.go | 10 ++++------
internal/ui/dialog/models.go | 10 ++++------
internal/ui/dialog/sessions.go | 10 ++++------
3 files changed, 12 insertions(+), 18 deletions(-)
Detailed changes
@@ -153,19 +153,17 @@ func (c *Commands) HandleMsg(msg tea.Msg) Action {
c.list.Focus()
if c.list.IsSelectedFirst() {
c.list.SelectLast()
- c.list.ScrollToBottom()
- break
+ } else {
+ c.list.SelectPrev()
}
- c.list.SelectPrev()
c.list.ScrollToSelected()
case key.Matches(msg, c.keyMap.Next):
c.list.Focus()
if c.list.IsSelectedLast() {
c.list.SelectFirst()
- c.list.ScrollToTop()
- break
+ } else {
+ c.list.SelectNext()
}
- c.list.SelectNext()
c.list.ScrollToSelected()
case key.Matches(msg, c.keyMap.Select):
if selectedItem := c.list.SelectedItem(); selectedItem != nil {
@@ -174,19 +174,17 @@ func (m *Models) HandleMsg(msg tea.Msg) Action {
m.list.Focus()
if m.list.IsSelectedFirst() {
m.list.SelectLast()
- m.list.ScrollToBottom()
- break
+ } else {
+ m.list.SelectPrev()
}
- m.list.SelectPrev()
m.list.ScrollToSelected()
case key.Matches(msg, m.keyMap.Next):
m.list.Focus()
if m.list.IsSelectedLast() {
m.list.SelectFirst()
- m.list.ScrollToTop()
- break
+ } else {
+ m.list.SelectNext()
}
- m.list.SelectNext()
m.list.ScrollToSelected()
case key.Matches(msg, m.keyMap.Select, m.keyMap.Edit):
selectedItem := m.list.SelectedItem()
@@ -190,19 +190,17 @@ func (s *Session) HandleMsg(msg tea.Msg) Action {
s.list.Focus()
if s.list.IsSelectedFirst() {
s.list.SelectLast()
- s.list.ScrollToBottom()
- break
+ } else {
+ s.list.SelectPrev()
}
- s.list.SelectPrev()
s.list.ScrollToSelected()
case key.Matches(msg, s.keyMap.Next):
s.list.Focus()
if s.list.IsSelectedLast() {
s.list.SelectFirst()
- s.list.ScrollToTop()
- break
+ } else {
+ s.list.SelectNext()
}
- s.list.SelectNext()
s.list.ScrollToSelected()
case key.Matches(msg, s.keyMap.Select):
if item := s.list.SelectedItem(); item != nil {