From 15d21bf04acd6af75df97918f66df866c239b248 Mon Sep 17 00:00:00 2001 From: adamdottv <2363879+adamdottv@users.noreply.github.com> Date: Wed, 28 May 2025 12:35:20 -0500 Subject: wip: refactoring tui --- internal/tui/components/chat/messages.go | 72 ++++++++------------------------ 1 file changed, 18 insertions(+), 54 deletions(-) (limited to 'internal/tui/components') diff --git a/internal/tui/components/chat/messages.go b/internal/tui/components/chat/messages.go index 613c4169a..681606b9f 100644 --- a/internal/tui/components/chat/messages.go +++ b/internal/tui/components/chat/messages.go @@ -2,9 +2,9 @@ package chat import ( "context" + "encoding/json" "fmt" "math" - "strings" "time" "github.com/charmbracelet/bubbles/key" @@ -156,55 +156,6 @@ func (m *messagesCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { } } } - case app.StorageWriteMsg: - // Handle storage write events from the TypeScript backend - keyParts := strings.Split(msg.Key, "/") - if len(keyParts) >= 4 && keyParts[0] == "session" && keyParts[1] == "message" { - sessionID := keyParts[2] - if sessionID == m.app.CurrentSession.ID { - // Convert storage message to internal format - convertedMsg, err := app.ConvertStorageMessage(msg.Content, sessionID) - if err != nil { - status.Error("Failed to convert message: " + err.Error()) - return m, nil - } - - // Check if message exists - messageExists := false - messageIndex := -1 - for i, v := range m.messages { - if v.ID == convertedMsg.ID { - messageExists = true - messageIndex = i - break - } - } - - needsRerender := false - if messageExists { - // Update existing message - m.messages[messageIndex] = *convertedMsg - delete(m.cachedContent, convertedMsg.ID) - needsRerender = true - } else { - // Add new message - if len(m.messages) > 0 { - lastMsgID := m.messages[len(m.messages)-1].ID - delete(m.cachedContent, lastMsgID) - } - - m.messages = append(m.messages, *convertedMsg) - delete(m.cachedContent, m.currentMsgID) - m.currentMsgID = convertedMsg.ID - needsRerender = true - } - - if needsRerender { - m.renderView() - m.viewport.GotoBottom() - } - } - } } spinner, cmd := m.spinner.Update(msg) @@ -293,20 +244,33 @@ func (m *messagesCmp) renderView() { ) } + temp, _ := json.MarshalIndent(m.app.State, "", " ") + m.viewport.SetContent( baseStyle. Width(m.width). Render( - lipgloss.JoinVertical( - lipgloss.Top, - messages..., - ), + string(temp), + // lipgloss.JoinVertical( + // lipgloss.Top, + // messages..., + // ), ), ) } func (m *messagesCmp) View() string { baseStyle := styles.BaseStyle() + return baseStyle. + Width(m.width). + Render( + lipgloss.JoinVertical( + lipgloss.Top, + m.viewport.View(), + m.working(), + m.help(), + ), + ) if m.rendering { return baseStyle. -- cgit v1.2.3