fix(tui): cursor position in the textarea

Hide the cursor when it's misaligned with the textarea.
This commit is contained in:
Ayman Bagabas
2025-07-21 16:04:32 -04:00
parent 0e4f3326fa
commit 8f39595eaa

View File

@@ -3,6 +3,7 @@ package tui
import (
"context"
"fmt"
"strings"
"github.com/charmbracelet/bubbles/v2/key"
tea "github.com/charmbracelet/bubbletea/v2"
@@ -453,6 +454,11 @@ func (a *appModel) View() tea.View {
var cursor *tea.Cursor
if v, ok := page.(util.Cursor); ok {
cursor = v.Cursor()
// Hide the cursor if it's positioned outside the textarea
statusHeight := a.height - strings.Count(pageView, "\n") + 1
if cursor != nil && cursor.Y+statusHeight+chat.EditorHeight-2 <= a.height { // 2 for the top and bottom app padding
cursor = nil
}
}
activeView := a.dialog.ActiveModel()
if activeView != nil {