diff options
| author | adamdottv <[email protected]> | 2025-05-12 09:44:56 -0500 |
|---|---|---|
| committer | adamdottv <[email protected]> | 2025-05-12 09:44:56 -0500 |
| commit | dfe5fd8d970f76af9db0a7bf9a1e6f0bc01a291c (patch) | |
| tree | ebf8123a492626a31b7767b18a60594879cd70b0 /internal/tui/components | |
| parent | ed9fba99c9e230094ed5d468c88f81469d60c911 (diff) | |
| download | opencode-dfe5fd8d970f76af9db0a7bf9a1e6f0bc01a291c.tar.gz opencode-dfe5fd8d970f76af9db0a7bf9a1e6f0bc01a291c.zip | |
wip: refactoring
Diffstat (limited to 'internal/tui/components')
| -rw-r--r-- | internal/tui/components/chat/list.go | 8 | ||||
| -rw-r--r-- | internal/tui/components/chat/sidebar.go | 2 | ||||
| -rw-r--r-- | internal/tui/components/core/status.go | 5 | ||||
| -rw-r--r-- | internal/tui/components/dialog/session.go | 4 | ||||
| -rw-r--r-- | internal/tui/components/logs/table.go | 7 |
5 files changed, 12 insertions, 14 deletions
diff --git a/internal/tui/components/chat/list.go b/internal/tui/components/chat/list.go index 55f76c342..f749f6b05 100644 --- a/internal/tui/components/chat/list.go +++ b/internal/tui/components/chat/list.go @@ -110,7 +110,7 @@ func (m *messagesCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { m.viewport.GotoBottom() case pubsub.Event[message.Message]: needsRerender := false - if msg.Type == pubsub.CreatedEvent { + if msg.Type == message.EventMessageCreated { if msg.Payload.SessionID == m.session.ID { messageExists := false @@ -142,7 +142,7 @@ func (m *messagesCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { } } } - } else if msg.Type == pubsub.UpdatedEvent && msg.Payload.SessionID == m.session.ID { + } else if msg.Type == message.EventMessageUpdated && msg.Payload.SessionID == m.session.ID { for i, v := range m.messages { if v.ID == msg.Payload.ID { m.messages[i] = msg.Payload @@ -155,8 +155,8 @@ func (m *messagesCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { if needsRerender { m.renderView() if len(m.messages) > 0 { - if (msg.Type == pubsub.CreatedEvent) || - (msg.Type == pubsub.UpdatedEvent && msg.Payload.ID == m.messages[len(m.messages)-1].ID) { + if (msg.Type == message.EventMessageCreated) || + (msg.Type == message.EventMessageUpdated && msg.Payload.ID == m.messages[len(m.messages)-1].ID) { m.viewport.GotoBottom() } } diff --git a/internal/tui/components/chat/sidebar.go b/internal/tui/components/chat/sidebar.go index a66249b36..50c9ee567 100644 --- a/internal/tui/components/chat/sidebar.go +++ b/internal/tui/components/chat/sidebar.go @@ -59,7 +59,7 @@ func (m *sidebarCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { m.loadModifiedFiles(ctx) } case pubsub.Event[session.Session]: - if msg.Type == pubsub.UpdatedEvent { + if msg.Type == session.EventSessionUpdated { if m.session.ID == msg.Payload.ID { m.session = msg.Payload } diff --git a/internal/tui/components/core/status.go b/internal/tui/components/core/status.go index 84e0be42b..5de0b852e 100644 --- a/internal/tui/components/core/status.go +++ b/internal/tui/components/core/status.go @@ -65,13 +65,13 @@ func (m statusCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { case chat.SessionClearedMsg: m.session = session.Session{} case pubsub.Event[session.Session]: - if msg.Type == pubsub.UpdatedEvent { + if msg.Type == session.EventSessionUpdated { if m.session.ID == msg.Payload.ID { m.session = msg.Payload } } case pubsub.Event[status.StatusMessage]: - if msg.Type == pubsub.CreatedEvent { + if msg.Type == status.EventStatusPublished { statusMsg := statusMessage{ Level: msg.Payload.Level, Message: msg.Payload.Message, @@ -308,4 +308,3 @@ func NewStatusCmp(lspClients map[string]*lsp.Client) StatusCmp { return statusComponent } - diff --git a/internal/tui/components/dialog/session.go b/internal/tui/components/dialog/session.go index 174e4bed9..d49af82f8 100644 --- a/internal/tui/components/dialog/session.go +++ b/internal/tui/components/dialog/session.go @@ -93,7 +93,7 @@ func (s *sessionDialogCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { if len(s.sessions) > 0 { selectedSession := s.sessions[s.selectedIdx] // Update the session manager with the selected session - session.SetCurrentSession(selectedSession.ID) + // session.SetCurrentSession(selectedSession.ID) return s, util.CmdHandler(SessionSelectedMsg{ Session: selectedSession, }) @@ -111,7 +111,7 @@ func (s *sessionDialogCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { func (s *sessionDialogCmp) View() string { t := theme.CurrentTheme() baseStyle := styles.BaseStyle() - + if len(s.sessions) == 0 { return baseStyle.Padding(1, 2). Border(lipgloss.RoundedBorder()). diff --git a/internal/tui/components/logs/table.go b/internal/tui/components/logs/table.go index e7fc4ea70..4a9eb06a4 100644 --- a/internal/tui/components/logs/table.go +++ b/internal/tui/components/logs/table.go @@ -9,7 +9,6 @@ import ( tea "github.com/charmbracelet/bubbletea" "github.com/opencode-ai/opencode/internal/logging" "github.com/opencode-ai/opencode/internal/pubsub" - "github.com/opencode-ai/opencode/internal/session" "github.com/opencode-ai/opencode/internal/tui/components/chat" "github.com/opencode-ai/opencode/internal/tui/layout" "github.com/opencode-ai/opencode/internal/tui/theme" @@ -49,7 +48,7 @@ func (i *tableCmp) fetchLogs() tea.Cmd { var logs []logging.Log var err error - sessionId := session.CurrentSessionID() + sessionId := "" //session.CurrentSessionID() // Limit the number of logs to improve performance const logLimit = 100 @@ -85,7 +84,7 @@ func (i *tableCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { case pubsub.Event[logging.Log]: // Only handle created events - if msg.Type == pubsub.CreatedEvent { + if msg.Type == logging.EventLogCreated { // Add the new log to our list i.logs = append([]logging.Log{msg.Payload}, i.logs...) // Keep the list at a reasonable size @@ -105,7 +104,7 @@ func (i *tableCmp) Update(msg tea.Msg) (tea.Model, tea.Cmd) { t, cmd := i.table.Update(msg) cmds = append(cmds, cmd) i.table = t - + // Only send selected log message when selection changes selectedRow := i.table.SelectedRow() if selectedRow != nil { |
