summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-12-15 17:13:00 -0500
committerDax Raad <[email protected]>2025-12-15 17:13:20 -0500
commit56452d886d8f34841900ba969d489b5fa49bbad7 (patch)
tree014fa543ea5922cc31e0f32cfd40e88cb8e4e35f /packages/desktop/src
parentf3e64cfb190cbb063460709143ce7eb682c556f9 (diff)
downloadopencode-56452d886d8f34841900ba969d489b5fa49bbad7.tar.gz
opencode-56452d886d8f34841900ba969d489b5fa49bbad7.zip
fix dialog root complexity
Diffstat (limited to 'packages/desktop/src')
-rw-r--r--packages/desktop/src/app.tsx78
-rw-r--r--packages/desktop/src/hooks/use-providers.ts2
-rw-r--r--packages/desktop/src/pages/directory-layout.tsx5
3 files changed, 41 insertions, 44 deletions
diff --git a/packages/desktop/src/app.tsx b/packages/desktop/src/app.tsx
index bc6f082a4..789a8fa2d 100644
--- a/packages/desktop/src/app.tsx
+++ b/packages/desktop/src/app.tsx
@@ -12,7 +12,7 @@ import { GlobalSDKProvider } from "@/context/global-sdk"
import { TerminalProvider } from "@/context/terminal"
import { PromptProvider } from "@/context/prompt"
import { NotificationProvider } from "@/context/notification"
-import { DialogProvider, DialogRoot } from "@opencode-ai/ui/context/dialog"
+import { DialogProvider } from "@opencode-ai/ui/context/dialog"
import { CommandProvider } from "@/context/command"
import Layout from "@/pages/layout"
import Home from "@/pages/home"
@@ -36,46 +36,46 @@ const url =
export function App() {
return (
- <MarkedProvider>
- <DiffComponentProvider component={Diff}>
- <GlobalSDKProvider url={url}>
- <GlobalSyncProvider>
- <LayoutProvider>
- <NotificationProvider>
- <MetaProvider>
- <Font />
- <Router
- root={(props) => (
- <DialogProvider>
+ <DialogProvider>
+ <MarkedProvider>
+ <DiffComponentProvider component={Diff}>
+ <GlobalSDKProvider url={url}>
+ <GlobalSyncProvider>
+ <LayoutProvider>
+ <NotificationProvider>
+ <MetaProvider>
+ <Font />
+ <Router
+ root={(props) => (
<CommandProvider>
<Layout>{props.children}</Layout>
</CommandProvider>
- </DialogProvider>
- )}
- >
- <Route path="/" component={Home} />
- <Route path="/:dir" component={DirectoryLayout}>
- <Route path="/" component={() => <Navigate href="session" />} />
- <Route
- path="/session/:id?"
- component={(p) => (
- <Show when={p.params.id || true} keyed>
- <TerminalProvider>
- <PromptProvider>
- <Session />
- </PromptProvider>
- </TerminalProvider>
- </Show>
- )}
- />
- </Route>
- </Router>
- </MetaProvider>
- </NotificationProvider>
- </LayoutProvider>
- </GlobalSyncProvider>
- </GlobalSDKProvider>
- </DiffComponentProvider>
- </MarkedProvider>
+ )}
+ >
+ <Route path="/" component={Home} />
+ <Route path="/:dir" component={DirectoryLayout}>
+ <Route path="/" component={() => <Navigate href="session" />} />
+ <Route
+ path="/session/:id?"
+ component={(p) => (
+ <Show when={p.params.id || true} keyed>
+ <TerminalProvider>
+ <PromptProvider>
+ <Session />
+ </PromptProvider>
+ </TerminalProvider>
+ </Show>
+ )}
+ />
+ </Route>
+ </Router>
+ </MetaProvider>
+ </NotificationProvider>
+ </LayoutProvider>
+ </GlobalSyncProvider>
+ </GlobalSDKProvider>
+ </DiffComponentProvider>
+ </MarkedProvider>
+ </DialogProvider>
)
}
diff --git a/packages/desktop/src/hooks/use-providers.ts b/packages/desktop/src/hooks/use-providers.ts
index 501ff9d0c..4a73fa055 100644
--- a/packages/desktop/src/hooks/use-providers.ts
+++ b/packages/desktop/src/hooks/use-providers.ts
@@ -6,8 +6,8 @@ import { createMemo } from "solid-js"
export const popularProviders = ["opencode", "anthropic", "github-copilot", "openai", "google", "openrouter", "vercel"]
export function useProviders() {
- const params = useParams()
const globalSync = useGlobalSync()
+ const params = useParams()
const currentDirectory = createMemo(() => base64Decode(params.dir ?? ""))
const providers = createMemo(() => {
if (currentDirectory()) {
diff --git a/packages/desktop/src/pages/directory-layout.tsx b/packages/desktop/src/pages/directory-layout.tsx
index 0dbb3f6d6..c909a373d 100644
--- a/packages/desktop/src/pages/directory-layout.tsx
+++ b/packages/desktop/src/pages/directory-layout.tsx
@@ -6,7 +6,6 @@ import { LocalProvider } from "@/context/local"
import { base64Decode } from "@opencode-ai/util/encode"
import { DataProvider } from "@opencode-ai/ui/context"
import { iife } from "@opencode-ai/util/iife"
-import { DialogRoot } from "@opencode-ai/ui/context/dialog"
export default function Layout(props: ParentProps) {
const params = useParams()
@@ -21,9 +20,7 @@ export default function Layout(props: ParentProps) {
const sync = useSync()
return (
<DataProvider data={sync.data} directory={directory()}>
- <LocalProvider>
- <DialogRoot>{props.children}</DialogRoot>
- </LocalProvider>
+ <LocalProvider>{props.children}</LocalProvider>
</DataProvider>
)
})}