summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/components/status-bar.tsx
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-30 07:24:35 -0600
committerAdam <[email protected]>2025-12-30 07:24:40 -0600
commite0e07c5d48ef0671f63ca8bd9119169ced493fac (patch)
tree9377eab8b3cc5d3c2976ccae2d32e22db46ce816 /packages/app/src/components/status-bar.tsx
parent281f9e623673e6bbfd9a5f9a8f9aae496abc99f2 (diff)
downloadopencode-e0e07c5d48ef0671f63ca8bd9119169ced493fac.tar.gz
opencode-e0e07c5d48ef0671f63ca8bd9119169ced493fac.zip
feat(app): change server
Diffstat (limited to 'packages/app/src/components/status-bar.tsx')
-rw-r--r--packages/app/src/components/status-bar.tsx29
1 files changed, 24 insertions, 5 deletions
diff --git a/packages/app/src/components/status-bar.tsx b/packages/app/src/components/status-bar.tsx
index d8a88503f..bfc428fca 100644
--- a/packages/app/src/components/status-bar.tsx
+++ b/packages/app/src/components/status-bar.tsx
@@ -1,10 +1,14 @@
import { createMemo, Show, type ParentProps } from "solid-js"
-import { usePlatform } from "@/context/platform"
import { useSync } from "@/context/sync"
import { useGlobalSync } from "@/context/global-sync"
+import { useServer } from "@/context/server"
+import { useDialog } from "@opencode-ai/ui/context/dialog"
+import { Button } from "@opencode-ai/ui/button"
+import { DialogSelectServer } from "@/components/dialog-select-server"
export function StatusBar(props: ParentProps) {
- const platform = usePlatform()
+ const dialog = useDialog()
+ const server = useServer()
const sync = useSync()
const globalSync = useGlobalSync()
@@ -19,9 +23,24 @@ export function StatusBar(props: ParentProps) {
return (
<div class="h-8 w-full shrink-0 flex items-center justify-between px-2 border-t border-border-weak-base bg-background-base">
<div class="flex items-center gap-3">
- <Show when={platform.version}>
- <span class="text-12-regular text-text-weak">v{platform.version}</span>
- </Show>
+ <div class="flex items-center gap-1">
+ <Button
+ size="small"
+ variant="ghost"
+ onClick={() => {
+ dialog.show(() => <DialogSelectServer />)
+ }}
+ >
+ <div
+ classList={{
+ "size-1.5 rounded-full": true,
+ "bg-icon-success-base": server.healthy(),
+ "bg-icon-critical-base": !server.healthy(),
+ }}
+ />
+ <span class="text-12-regular text-text-weak">{server.name}</span>
+ </Button>
+ </div>
<Show when={directoryDisplay()}>
<span class="text-12-regular text-text-weak">{directoryDisplay()}</span>
</Show>