From fb7b2f6b4d66d14177b5c0168049863842665925 Mon Sep 17 00:00:00 2001
From: Adam <2363879+adamdotdevin@users.noreply.github.com>
Date: Thu, 12 Feb 2026 20:19:14 -0600
Subject: feat(app): toggle all provider models
---
.../app/src/components/dialog-manage-models.tsx | 32 +++++++++++++++++++++-
packages/app/src/i18n/en.ts | 1 +
2 files changed, 32 insertions(+), 1 deletion(-)
(limited to 'packages/app/src')
diff --git a/packages/app/src/components/dialog-manage-models.tsx b/packages/app/src/components/dialog-manage-models.tsx
index d4d4af0f1..ace79e38a 100644
--- a/packages/app/src/components/dialog-manage-models.tsx
+++ b/packages/app/src/components/dialog-manage-models.tsx
@@ -1,6 +1,7 @@
import { Dialog } from "@opencode-ai/ui/dialog"
import { List } from "@opencode-ai/ui/list"
import { Switch } from "@opencode-ai/ui/switch"
+import { Tooltip } from "@opencode-ai/ui/tooltip"
import { Button } from "@opencode-ai/ui/button"
import type { Component } from "solid-js"
import { useLocal } from "@/context/local"
@@ -18,6 +19,14 @@ export const DialogManageModels: Component = () => {
dialog.show(() => )
}
const providerRank = (id: string) => popularProviders.indexOf(id)
+ const providerList = (providerID: string) => local.model.list().filter((x) => x.provider.id === providerID)
+ const providerVisible = (providerID: string) =>
+ providerList(providerID).every((x) => local.model.visible({ modelID: x.id, providerID: x.provider.id }))
+ const setProviderVisibility = (providerID: string, checked: boolean) => {
+ providerList(providerID).forEach((x) => {
+ local.model.setVisibility({ modelID: x.id, providerID: x.provider.id }, checked)
+ })
+ }
return (