summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-15 13:24:30 -0600
committerAdam <[email protected]>2025-12-15 13:24:30 -0600
commit7e49d0fb15373ebff5c8f9595b042d0941938fe6 (patch)
tree64226e37cd04a2c34196c5054b4b6ea594ff86e3 /packages/desktop/src
parentc4f63824df58457e1f84aff0b4c057272615e4ca (diff)
downloadopencode-7e49d0fb15373ebff5c8f9595b042d0941938fe6.tar.gz
opencode-7e49d0fb15373ebff5c8f9595b042d0941938fe6.zip
fix: connect provider on homepage
Diffstat (limited to 'packages/desktop/src')
-rw-r--r--packages/desktop/src/app.tsx61
-rw-r--r--packages/desktop/src/pages/directory-layout.tsx6
-rw-r--r--packages/desktop/src/pages/layout.tsx3
3 files changed, 38 insertions, 32 deletions
diff --git a/packages/desktop/src/app.tsx b/packages/desktop/src/app.tsx
index 2530f92dd..bdbd4e0a4 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 } from "@opencode-ai/ui/context/dialog"
+import { DialogProvider, DialogRoot } from "@opencode-ai/ui/context/dialog"
import { CommandProvider } from "@/context/command"
import Layout from "@/pages/layout"
import Home from "@/pages/home"
@@ -41,33 +41,38 @@ export function App() {
<GlobalSDKProvider url={url}>
<GlobalSyncProvider>
<LayoutProvider>
- <DialogProvider>
- <CommandProvider>
- <NotificationProvider>
- <MetaProvider>
- <Font />
- <Router root={Layout}>
- <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>
- </CommandProvider>
- </DialogProvider>
+ <NotificationProvider>
+ <MetaProvider>
+ <Font />
+ <Router
+ root={(props) => (
+ <DialogProvider>
+ <CommandProvider>
+ <DialogRoot />
+ <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>
diff --git a/packages/desktop/src/pages/directory-layout.tsx b/packages/desktop/src/pages/directory-layout.tsx
index 0dbb3f6d6..1b7dee260 100644
--- a/packages/desktop/src/pages/directory-layout.tsx
+++ b/packages/desktop/src/pages/directory-layout.tsx
@@ -6,7 +6,7 @@ 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"
+import { DialogProvider, DialogRoot } from "@opencode-ai/ui/context/dialog"
export default function Layout(props: ParentProps) {
const params = useParams()
@@ -22,7 +22,9 @@ export default function Layout(props: ParentProps) {
return (
<DataProvider data={sync.data} directory={directory()}>
<LocalProvider>
- <DialogRoot>{props.children}</DialogRoot>
+ <DialogProvider>
+ <DialogRoot>{props.children}</DialogRoot>
+ </DialogProvider>
</LocalProvider>
</DataProvider>
)
diff --git a/packages/desktop/src/pages/layout.tsx b/packages/desktop/src/pages/layout.tsx
index a31a41732..f5d097215 100644
--- a/packages/desktop/src/pages/layout.tsx
+++ b/packages/desktop/src/pages/layout.tsx
@@ -496,11 +496,10 @@ export default function Layout(props: ParentProps) {
}
const SortableProject = (props: { project: Project & { expanded: boolean } }): JSX.Element => {
- const notification = useNotification()
const sortable = createSortable(props.project.worktree)
const slug = createMemo(() => base64Encode(props.project.worktree))
const name = createMemo(() => getFilename(props.project.worktree))
- const [store, setStore] = globalSync.child(props.project.worktree)
+ const [store] = globalSync.child(props.project.worktree)
const sessions = createMemo(() => store.session ?? [])
const rootSessions = createMemo(() => sessions().filter((s) => !s.parentID))
const childSessionsByParent = createMemo(() => {