summaryrefslogtreecommitdiffhomepage
path: root/packages/desktop/src/app.tsx
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-18 04:26:17 -0600
committerAdam <[email protected]>2025-12-18 04:26:21 -0600
commite37a75a411c584d3e463662a0219fd342d4247ab (patch)
treeeb3944722e942b3244c4f13466855fca712bc3c6 /packages/desktop/src/app.tsx
parent194ff4919cd1e68caaaa8336da0b13b815c74072 (diff)
downloadopencode-e37a75a411c584d3e463662a0219fd342d4247ab.tar.gz
opencode-e37a75a411c584d3e463662a0219fd342d4247ab.zip
feat(desktop): custom update toast
Diffstat (limited to 'packages/desktop/src/app.tsx')
-rw-r--r--packages/desktop/src/app.tsx91
1 files changed, 47 insertions, 44 deletions
diff --git a/packages/desktop/src/app.tsx b/packages/desktop/src/app.tsx
index 10bde2202..91952fc9d 100644
--- a/packages/desktop/src/app.tsx
+++ b/packages/desktop/src/app.tsx
@@ -1,5 +1,5 @@
import "@/index.css"
-import { Show } from "solid-js"
+import { ErrorBoundary, Show } from "solid-js"
import { Router, Route, Navigate } from "@solidjs/router"
import { MetaProvider } from "@solidjs/meta"
import { Font } from "@opencode-ai/ui/font"
@@ -20,6 +20,7 @@ import Layout from "@/pages/layout"
import Home from "@/pages/home"
import DirectoryLayout from "@/pages/directory-layout"
import Session from "@/pages/session"
+import { ErrorPage } from "./pages/error"
declare global {
interface Window {
@@ -38,48 +39,50 @@ const url =
export function App() {
return (
- <MetaProvider>
- <Font />
- <DialogProvider>
- <MarkedProvider>
- <DiffComponentProvider component={Diff}>
- <CodeComponentProvider component={Code}>
- <GlobalSDKProvider url={url}>
- <GlobalSyncProvider>
- <LayoutProvider>
- <NotificationProvider>
- <Router
- root={(props) => (
- <CommandProvider>
- <Layout>{props.children}</Layout>
- </CommandProvider>
- )}
- >
- <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>
- </NotificationProvider>
- </LayoutProvider>
- </GlobalSyncProvider>
- </GlobalSDKProvider>
- </CodeComponentProvider>
- </DiffComponentProvider>
- </MarkedProvider>
- </DialogProvider>
- </MetaProvider>
+ <ErrorBoundary fallback={ErrorPage}>
+ <MetaProvider>
+ <Font />
+ <DialogProvider>
+ <MarkedProvider>
+ <DiffComponentProvider component={Diff}>
+ <CodeComponentProvider component={Code}>
+ <GlobalSDKProvider url={url}>
+ <GlobalSyncProvider>
+ <LayoutProvider>
+ <NotificationProvider>
+ <Router
+ root={(props) => (
+ <CommandProvider>
+ <Layout>{props.children}</Layout>
+ </CommandProvider>
+ )}
+ >
+ <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>
+ </NotificationProvider>
+ </LayoutProvider>
+ </GlobalSyncProvider>
+ </GlobalSDKProvider>
+ </CodeComponentProvider>
+ </DiffComponentProvider>
+ </MarkedProvider>
+ </DialogProvider>
+ </MetaProvider>
+ </ErrorBoundary>
)
}