fix: mouse wheel scroll trigger re render

Raphael Amorim created

Change summary

internal/tui/exp/list/list.go | 14 ++++++++++++++
1 file changed, 14 insertions(+)

Detailed changes

internal/tui/exp/list/list.go 🔗

@@ -1231,6 +1231,13 @@ func (l *list[T]) MoveDown(n int) tea.Cmd {
 		l.decrementOffset(n)
 	}
 
+	// Re-render after scrolling
+	if oldOffset != l.offset {
+		l.renderMu.Lock()
+		l.rendered = l.renderVirtualScrolling()
+		l.renderMu.Unlock()
+	}
+
 	if oldOffset == l.offset {
 		// Even if offset didn't change, we might need to change selection
 		// if we're at the edge of the scrollable area
@@ -1265,6 +1272,13 @@ func (l *list[T]) MoveUp(n int) tea.Cmd {
 		l.incrementOffset(n)
 	}
 
+	// Re-render after scrolling
+	if oldOffset != l.offset {
+		l.renderMu.Lock()
+		l.rendered = l.renderVirtualScrolling()
+		l.renderMu.Unlock()
+	}
+
 	if oldOffset == l.offset {
 		// Even if offset didn't change, we might need to change selection
 		// if we're at the edge of the scrollable area