diff options
| author | Adam <[email protected]> | 2025-12-30 07:24:35 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-30 07:24:40 -0600 |
| commit | e0e07c5d48ef0671f63ca8bd9119169ced493fac (patch) | |
| tree | 9377eab8b3cc5d3c2976ccae2d32e22db46ce816 /packages/app/src/pages | |
| parent | 281f9e623673e6bbfd9a5f9a8f9aae496abc99f2 (diff) | |
| download | opencode-e0e07c5d48ef0671f63ca8bd9119169ced493fac.tar.gz opencode-e0e07c5d48ef0671f63ca8bd9119169ced493fac.zip | |
feat(app): change server
Diffstat (limited to 'packages/app/src/pages')
| -rw-r--r-- | packages/app/src/pages/home.tsx | 18 | ||||
| -rw-r--r-- | packages/app/src/pages/layout.tsx | 11 |
2 files changed, 29 insertions, 0 deletions
diff --git a/packages/app/src/pages/home.tsx b/packages/app/src/pages/home.tsx index 129a50320..94332fcc6 100644 --- a/packages/app/src/pages/home.tsx +++ b/packages/app/src/pages/home.tsx @@ -10,6 +10,8 @@ import { usePlatform } from "@/context/platform" import { DateTime } from "luxon" import { useDialog } from "@opencode-ai/ui/context/dialog" import { DialogSelectDirectory } from "@/components/dialog-select-directory" +import { DialogSelectServer } from "@/components/dialog-select-server" +import { useServer } from "@/context/server" export default function Home() { const sync = useGlobalSync() @@ -17,6 +19,7 @@ export default function Home() { const platform = usePlatform() const dialog = useDialog() const navigate = useNavigate() + const server = useServer() const homedir = createMemo(() => sync.data.path.home) function openProject(directory: string) { @@ -52,6 +55,21 @@ export default function Home() { return ( <div class="mx-auto mt-55"> <Logo class="w-xl opacity-12" /> + <Button + size="large" + variant="ghost" + class="mt-4 mx-auto text-14-regular text-text-weak" + onClick={() => dialog.show(() => <DialogSelectServer />)} + > + <div + classList={{ + "size-2 rounded-full": true, + "bg-icon-success-base": server.healthy(), + "bg-icon-critical-base": !server.healthy(), + }} + /> + {server.name} + </Button> <Switch> <Match when={sync.data.project.length > 0}> <div class="mt-20 w-full flex flex-col gap-4"> diff --git a/packages/app/src/pages/layout.tsx b/packages/app/src/pages/layout.tsx index 46ea3bd4d..aea7be3aa 100644 --- a/packages/app/src/pages/layout.tsx +++ b/packages/app/src/pages/layout.tsx @@ -50,6 +50,7 @@ import { useDialog } from "@opencode-ai/ui/context/dialog" import { useTheme, type ColorScheme } from "@opencode-ai/ui/theme" import { DialogSelectProvider } from "@/components/dialog-select-provider" import { DialogEditProject } from "@/components/dialog-edit-project" +import { DialogSelectServer } from "@/components/dialog-select-server" import { useCommand, type CommandOption } from "@/context/command" import { ConstrainDragXAxis } from "@/utils/solid-dnd" import { DialogSelectDirectory } from "@/components/dialog-select-directory" @@ -353,6 +354,12 @@ export default function Layout(props: ParentProps) { onSelect: () => connectProvider(), }, { + id: "server.switch", + title: "Switch server", + category: "Server", + onSelect: () => openServer(), + }, + { id: "session.previous", title: "Previous session", category: "Session", @@ -427,6 +434,10 @@ export default function Layout(props: ParentProps) { dialog.show(() => <DialogSelectProvider />) } + function openServer() { + dialog.show(() => <DialogSelectServer />) + } + function navigateToProject(directory: string | undefined) { if (!directory) return const lastSession = store.lastSession[directory] |
