From b1df347f4341795742c27cf194a6d3ca59bcfff1 Mon Sep 17 00:00:00 2001 From: Christian Rocha Date: Wed, 2 Jul 2025 12:19:42 -0400 Subject: [PATCH] chore: integrate overhauled spinner --- internal/tui/components/chat/messages/messages.go | 5 ++--- internal/tui/components/chat/messages/tool.go | 8 ++++---- internal/tui/components/core/list/list.go | 3 +-- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/internal/tui/components/chat/messages/messages.go b/internal/tui/components/chat/messages/messages.go index 98d8b2979a90f46fa5901bc77d1e8b4a5105f04d..dc50bc58e71bf47cc7f38bb8f028be52b13a06b2 100644 --- a/internal/tui/components/chat/messages/messages.go +++ b/internal/tui/components/chat/messages/messages.go @@ -6,7 +6,6 @@ import ( "strings" "time" - "github.com/charmbracelet/bubbles/v2/spinner" tea "github.com/charmbracelet/bubbletea/v2" "github.com/charmbracelet/lipgloss/v2" @@ -52,7 +51,7 @@ var focusedMessageBorder = lipgloss.Border{ func NewMessageCmp(msg message.Message) MessageCmp { m := &messageCmp{ message: msg, - anim: anim.New(15, ""), + anim: anim.New(15, "", styles.CurrentTheme()), } return m } @@ -71,7 +70,7 @@ func (m *messageCmp) Init() tea.Cmd { // Manages animation updates for spinning messages and stops animation when appropriate. func (m *messageCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { switch msg := msg.(type) { - case anim.ColorCycleMsg, anim.StepCharsMsg, spinner.TickMsg: + case anim.StepMsg: m.spinning = m.shouldSpin() if m.spinning { u, cmd := m.anim.Update(msg) diff --git a/internal/tui/components/chat/messages/tool.go b/internal/tui/components/chat/messages/tool.go index 5a70acfe297e8f9716e229cb013160a6662a5970..2602768553f4d0480eb956bdd20db29c2842852f 100644 --- a/internal/tui/components/chat/messages/tool.go +++ b/internal/tui/components/chat/messages/tool.go @@ -3,7 +3,6 @@ package messages import ( "fmt" - "github.com/charmbracelet/bubbles/v2/spinner" tea "github.com/charmbracelet/bubbletea/v2" "github.com/charmbracelet/crush/internal/message" "github.com/charmbracelet/crush/internal/tui/components/anim" @@ -91,9 +90,10 @@ func NewToolCallCmp(parentMessageID string, tc message.ToolCall, opts ...ToolCal for _, opt := range opts { opt(m) } - m.anim = anim.New(15, "Working") + t := styles.CurrentTheme() + m.anim = anim.New(15, "Working", t) if m.isNested { - m.anim = anim.New(10, "") + m.anim = anim.New(10, "", t) } return m } @@ -112,7 +112,7 @@ func (m *toolCallCmp) Init() tea.Cmd { // Manages animation updates for pending tool calls. func (m *toolCallCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { switch msg := msg.(type) { - case anim.ColorCycleMsg, anim.StepCharsMsg, spinner.TickMsg: + case anim.StepMsg: var cmds []tea.Cmd for i, nested := range m.nestedToolCalls { if nested.Spinning() { diff --git a/internal/tui/components/core/list/list.go b/internal/tui/components/core/list/list.go index 3ad3f68dffd46960bcfb5f969991f25218494a2c..f0887ee8aed5df7d3fcb34fe282cf916fad5920a 100644 --- a/internal/tui/components/core/list/list.go +++ b/internal/tui/components/core/list/list.go @@ -7,7 +7,6 @@ import ( "github.com/charmbracelet/bubbles/v2/help" "github.com/charmbracelet/bubbles/v2/key" - "github.com/charmbracelet/bubbles/v2/spinner" "github.com/charmbracelet/bubbles/v2/textinput" tea "github.com/charmbracelet/bubbletea/v2" "github.com/charmbracelet/crush/internal/tui/components/anim" @@ -271,7 +270,7 @@ func (m *model) Update(msg tea.Msg) (tea.Model, tea.Cmd) { switch msg := msg.(type) { case tea.KeyPressMsg: return m.handleKeyPress(msg) - case anim.ColorCycleMsg, anim.StepCharsMsg, spinner.TickMsg: + case anim.StepMsg: return m.handleAnimationMsg(msg) } if m.selectionState.isValidIndex(len(m.filteredItems)) {