diff options
| author | adamelmore <[email protected]> | 2026-01-26 06:38:20 -0600 |
|---|---|---|
| committer | adamelmore <[email protected]> | 2026-01-26 08:15:00 -0600 |
| commit | 0d651eab3b1c3ce8b55fe5d70f1e348c4b9753df (patch) | |
| tree | 05981459091af3d132f4c03f955d315899a34afb /packages/app/src/components | |
| parent | 0edd304f4219da30c37e58eea0165ca0d675ac4c (diff) | |
| download | opencode-0d651eab3b1c3ce8b55fe5d70f1e348c4b9753df.tar.gz opencode-0d651eab3b1c3ce8b55fe5d70f1e348c4b9753df.zip | |
feat(app): default servers on web
Diffstat (limited to 'packages/app/src/components')
| -rw-r--r-- | packages/app/src/components/dialog-select-server.tsx | 6 | ||||
| -rw-r--r-- | packages/app/src/components/status-popover.tsx | 14 |
2 files changed, 14 insertions, 6 deletions
diff --git a/packages/app/src/components/dialog-select-server.tsx b/packages/app/src/components/dialog-select-server.tsx index 2206e4a48..774ad51cc 100644 --- a/packages/app/src/components/dialog-select-server.tsx +++ b/packages/app/src/components/dialog-select-server.tsx @@ -155,7 +155,7 @@ export function DialogSelectServer() { }, { initialValue: null }, ) - const isDesktop = platform.platform === "desktop" + const canDefault = createMemo(() => !!platform.getDefaultServerUrl && !!platform.setDefaultServerUrl) const looksComplete = (value: string) => { const normalized = normalizeServerUrl(value) @@ -505,7 +505,7 @@ export function DialogSelectServer() { > <DropdownMenu.ItemLabel>{language.t("dialog.server.menu.edit")}</DropdownMenu.ItemLabel> </DropdownMenu.Item> - <Show when={isDesktop && defaultUrl() !== i}> + <Show when={canDefault() && defaultUrl() !== i}> <DropdownMenu.Item onSelect={async () => { await platform.setDefaultServerUrl?.(i) @@ -517,7 +517,7 @@ export function DialogSelectServer() { </DropdownMenu.ItemLabel> </DropdownMenu.Item> </Show> - <Show when={isDesktop && defaultUrl() === i}> + <Show when={canDefault() && defaultUrl() === i}> <DropdownMenu.Item onSelect={async () => { await platform.setDefaultServerUrl?.(null) diff --git a/packages/app/src/components/status-popover.tsx b/packages/app/src/components/status-popover.tsx index 3963a54f3..cb45c3689 100644 --- a/packages/app/src/components/status-popover.tsx +++ b/packages/app/src/components/status-popover.tsx @@ -125,13 +125,21 @@ export function StatusPopover() { const [defaultServerUrl, setDefaultServerUrl] = createSignal<string | undefined>() - createEffect(() => { + const refreshDefaultServerUrl = () => { const result = platform.getDefaultServerUrl?.() + if (!result) { + setDefaultServerUrl(undefined) + return + } if (result instanceof Promise) { result.then((url) => setDefaultServerUrl(url ? normalizeServerUrl(url) : undefined)) return } - if (result) setDefaultServerUrl(normalizeServerUrl(result)) + setDefaultServerUrl(normalizeServerUrl(result)) + } + + createEffect(() => { + refreshDefaultServerUrl() }) return ( @@ -294,7 +302,7 @@ export function StatusPopover() { <Button variant="secondary" class="mt-3 self-start h-8 px-3 py-1.5" - onClick={() => dialog.show(() => <DialogSelectServer />)} + onClick={() => dialog.show(() => <DialogSelectServer />, refreshDefaultServerUrl)} > {language.t("status.popover.action.manageServers")} </Button> |
