diff options
Diffstat (limited to 'packages/app/src/hooks')
| -rw-r--r-- | packages/app/src/hooks/use-providers.ts | 6 |
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), |
