summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/components
diff options
context:
space:
mode:
authoradamelmore <[email protected]>2026-01-26 06:38:20 -0600
committeradamelmore <[email protected]>2026-01-26 08:15:00 -0600
commit0d651eab3b1c3ce8b55fe5d70f1e348c4b9753df (patch)
tree05981459091af3d132f4c03f955d315899a34afb /packages/app/src/components
parent0edd304f4219da30c37e58eea0165ca0d675ac4c (diff)
downloadopencode-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.tsx6
-rw-r--r--packages/app/src/components/status-popover.tsx14
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>