summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src
diff options
context:
space:
mode:
authorBrendan Allan <[email protected]>2026-02-06 18:10:48 +0800
committerBrendan Allan <[email protected]>2026-02-06 18:10:48 +0800
commite0e32ed3a846be03f66d2f48e2b2659a9e658a11 (patch)
treebe2b6430e46a9a8561f8ad8c87f7d7bbbccd1949 /packages/app/src
parent9b20679a610af778e4f0fb741baed524edb2514a (diff)
downloadopencode-e0e32ed3a846be03f66d2f48e2b2659a9e658a11.tar.gz
opencode-e0e32ed3a846be03f66d2f48e2b2659a9e658a11.zip
desktop: add more basic menu bar items
Diffstat (limited to 'packages/app/src')
-rw-r--r--packages/app/src/app.tsx11
-rw-r--r--packages/app/src/components/titlebar.tsx15
-rw-r--r--packages/app/src/index.ts1
3 files changed, 23 insertions, 4 deletions
diff --git a/packages/app/src/app.tsx b/packages/app/src/app.tsx
index 11fdb5743..8a111472b 100644
--- a/packages/app/src/app.tsx
+++ b/packages/app/src/app.tsx
@@ -30,7 +30,7 @@ import { HighlightsProvider } from "@/context/highlights"
import Layout from "@/pages/layout"
import DirectoryLayout from "@/pages/directory-layout"
import { ErrorPage } from "./pages/error"
-import { Suspense } from "solid-js"
+import { Suspense, JSX } from "solid-js"
const Home = lazy(() => import("@/pages/home"))
const Session = lazy(() => import("@/pages/session"))
@@ -84,7 +84,7 @@ function ServerKey(props: ParentProps) {
)
}
-export function AppInterface(props: { defaultUrl?: string }) {
+export function AppInterface(props: { defaultUrl?: string; children?: JSX.Element }) {
const platform = usePlatform()
const stored = (() => {
@@ -111,7 +111,7 @@ export function AppInterface(props: { defaultUrl?: string }) {
<GlobalSDKProvider>
<GlobalSyncProvider>
<Router
- root={(props) => (
+ root={(routerProps) => (
<SettingsProvider>
<PermissionProvider>
<LayoutProvider>
@@ -119,7 +119,10 @@ export function AppInterface(props: { defaultUrl?: string }) {
<ModelsProvider>
<CommandProvider>
<HighlightsProvider>
- <Layout>{props.children}</Layout>
+ <Layout>
+ {props.children}
+ {routerProps.children}
+ </Layout>
</HighlightsProvider>
</CommandProvider>
</ModelsProvider>
diff --git a/packages/app/src/components/titlebar.tsx b/packages/app/src/components/titlebar.tsx
index 86b4fbeb1..32e36815e 100644
--- a/packages/app/src/components/titlebar.tsx
+++ b/packages/app/src/components/titlebar.tsx
@@ -82,6 +82,21 @@ export function Titlebar() {
navigate(to)
}
+ command.register(() => [
+ {
+ id: "common.goBack",
+ title: language.t("common.goBack"),
+ category: language.t("command.category.view"),
+ onSelect: back,
+ },
+ {
+ id: "common.goForward",
+ title: language.t("common.goForward"),
+ category: language.t("command.category.view"),
+ onSelect: forward,
+ },
+ ])
+
const getWin = () => {
if (platform.platform !== "desktop") return
diff --git a/packages/app/src/index.ts b/packages/app/src/index.ts
index df3181133..c32af728a 100644
--- a/packages/app/src/index.ts
+++ b/packages/app/src/index.ts
@@ -1,2 +1,3 @@
export { PlatformProvider, type Platform } from "./context/platform"
export { AppBaseProviders, AppInterface } from "./app"
+export { useCommand } from './context/command'