summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/hooks
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-02-12 11:26:19 -0600
committerGitHub <[email protected]>2026-02-12 11:26:19 -0600
commitda952135cabba2926698298797cd301e7adaf48c (patch)
tree78635fe4f7d656266ad3cc1c353b04b56969515c /packages/app/src/hooks
parent789705ea96ae28af7e30801fd6039ce89b6ac48e (diff)
downloadopencode-da952135cabba2926698298797cd301e7adaf48c.tar.gz
opencode-da952135cabba2926698298797cd301e7adaf48c.zip
chore(app): refactor for better solidjs hygiene (#13344)
Diffstat (limited to 'packages/app/src/hooks')
-rw-r--r--packages/app/src/hooks/use-providers.ts6
1 files changed, 4 insertions, 2 deletions
diff --git a/packages/app/src/hooks/use-providers.ts b/packages/app/src/hooks/use-providers.ts
index 55184aa1b..502364afd 100644
--- a/packages/app/src/hooks/use-providers.ts
+++ b/packages/app/src/hooks/use-providers.ts
@@ -4,6 +4,7 @@ import { useParams } from "@solidjs/router"
import { createMemo } from "solid-js"
export const popularProviders = ["opencode", "anthropic", "github-copilot", "openai", "google", "openrouter", "vercel"]
+const popularProviderSet = new Set(popularProviders)
export function useProviders() {
const globalSync = useGlobalSync()
@@ -16,11 +17,12 @@ export function useProviders() {
}
return globalSync.data.provider
})
- const connected = createMemo(() => providers().all.filter((p) => providers().connected.includes(p.id)))
+ const connectedIDs = createMemo(() => new Set(providers().connected))
+ const connected = createMemo(() => providers().all.filter((p) => connectedIDs().has(p.id)))
const paid = createMemo(() =>
connected().filter((p) => p.id !== "opencode" || Object.values(p.models).find((m) => m.cost?.input)),
)
- const popular = createMemo(() => providers().all.filter((p) => popularProviders.includes(p.id)))
+ const popular = createMemo(() => providers().all.filter((p) => popularProviderSet.has(p.id)))
return {
all: createMemo(() => providers().all),
default: createMemo(() => providers().default),