summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authoradamdottv <[email protected]>2025-06-02 14:14:13 -0500
committeradamdottv <[email protected]>2025-06-02 14:14:13 -0500
commit863e7a093ec5d81c79672aa01813b7ec3864e8d8 (patch)
treec539bfe4284011516451c3a4cfa2b16b0977a57d
parentca87b2806f4a021f78b65372a5579920c6b7619d (diff)
downloadopencode-863e7a093ec5d81c79672aa01813b7ec3864e8d8.tar.gz
opencode-863e7a093ec5d81c79672aa01813b7ec3864e8d8.zip
wip: refactoring tui
-rw-r--r--packages/tui/internal/tui/app/app.go9
-rw-r--r--packages/tui/internal/tui/components/chat/chat.go9
-rw-r--r--packages/tui/internal/tui/components/chat/messages.go2
-rw-r--r--packages/tui/internal/tui/components/chat/sidebar.go2
4 files changed, 15 insertions, 7 deletions
diff --git a/packages/tui/internal/tui/app/app.go b/packages/tui/internal/tui/app/app.go
index ed2a88806..2e89971f8 100644
--- a/packages/tui/internal/tui/app/app.go
+++ b/packages/tui/internal/tui/app/app.go
@@ -18,6 +18,12 @@ import (
)
type App struct {
+ Paths *struct {
+ Config string `json:"config"`
+ Cwd string `json:"cwd"`
+ Data string `json:"data"`
+ Root string `json:"root"`
+ }
Client *client.ClientWithResponses
Events *client.Client
Provider *client.ProviderInfo
@@ -57,10 +63,13 @@ func New(ctx context.Context) (*App, error) {
return nil, err
}
+ paths, _ := httpClient.PostPathGetWithResponse(context.Background())
+
// Create service bridges
agentBridge := NewAgentServiceBridge(httpClient)
app := &App{
+ Paths: paths.JSON200,
Client: httpClient,
Events: eventClient,
Session: &client.SessionInfo{},
diff --git a/packages/tui/internal/tui/components/chat/chat.go b/packages/tui/internal/tui/components/chat/chat.go
index ebebac252..9698d0560 100644
--- a/packages/tui/internal/tui/components/chat/chat.go
+++ b/packages/tui/internal/tui/components/chat/chat.go
@@ -6,7 +6,6 @@ import (
"github.com/charmbracelet/lipgloss"
"github.com/charmbracelet/x/ansi"
- "github.com/sst/opencode/internal/config"
"github.com/sst/opencode/internal/tui/app"
"github.com/sst/opencode/internal/tui/styles"
"github.com/sst/opencode/internal/tui/theme"
@@ -17,13 +16,13 @@ type SendMsg struct {
Attachments []app.Attachment
}
-func header(width int) string {
+func header(app *app.App, width int) string {
return lipgloss.JoinVertical(
lipgloss.Top,
logo(width),
repo(width),
"",
- cwd(width),
+ cwd(app, width),
)
}
@@ -121,8 +120,8 @@ func repo(width int) string {
Render(repo)
}
-func cwd(width int) string {
- cwd := fmt.Sprintf("cwd: %s", config.WorkingDirectory())
+func cwd(app *app.App, width int) string {
+ cwd := fmt.Sprintf("cwd: %s", app.Paths.Cwd)
t := theme.CurrentTheme()
return styles.BaseStyle().
diff --git a/packages/tui/internal/tui/components/chat/messages.go b/packages/tui/internal/tui/components/chat/messages.go
index ae6f2a687..1def9e37c 100644
--- a/packages/tui/internal/tui/components/chat/messages.go
+++ b/packages/tui/internal/tui/components/chat/messages.go
@@ -278,7 +278,7 @@ func (m *messagesCmp) initialScreen() string {
return baseStyle.Width(m.width).Render(
lipgloss.JoinVertical(
lipgloss.Top,
- header(m.width),
+ header(m.app, m.width),
"",
lspsConfigured(m.width),
),
diff --git a/packages/tui/internal/tui/components/chat/sidebar.go b/packages/tui/internal/tui/components/chat/sidebar.go
index d6895a164..257b43773 100644
--- a/packages/tui/internal/tui/components/chat/sidebar.go
+++ b/packages/tui/internal/tui/components/chat/sidebar.go
@@ -71,7 +71,7 @@ func (m *sidebarCmp) View() string {
Render(
lipgloss.JoinVertical(
lipgloss.Top,
- header(m.width),
+ header(m.app, m.width),
" ",
m.sessionSection(),
shareUrl,