fix(ai): use local provider icons

This commit is contained in:
t8y2
2026-06-08 17:11:12 +08:00
parent 531634d9b6
commit 3fc6c0eaba
13 changed files with 12 additions and 26 deletions
@@ -2156,8 +2156,6 @@ watch(
<!-- AI Settings Tab -->
<section v-else-if="activeSettingsTab === 'ai'" class="flex flex-col gap-5 py-2">
<p class="text-xs text-muted-foreground">{{ t("ai.settingsHint") }}</p>
<div class="space-y-3">
<div class="grid grid-cols-3 items-center gap-3">
<Label class="text-right text-xs">{{ t("ai.provider") }}</Label>
@@ -27,16 +27,10 @@ const usesWhiteDarkIcon = computed(
props.provider === "openai" ||
props.provider === "openai-compatible",
);
const localIconUrl = computed(() =>
props.provider === "openai" || props.provider === "openai-compatible" ? "/icons/ai/openai.svg" : "",
);
const iconUrl = computed(
() =>
localIconUrl.value ||
(props.iconSlug
? `https://cdn.simpleicons.org/${props.iconSlug}${isDark.value && usesWhiteDarkIcon.value ? "/f8fafc" : ""}`
: ""),
);
const localIconUrl = computed(() => {
if (props.provider === "openai-compatible") return "/icons/ai/openai.svg";
return props.iconSlug ? `/icons/ai/${props.iconSlug}.svg` : "";
});
const fallbackText = computed(() => {
if (props.provider === "openai-compatible") return "OC";
return props.label.slice(0, 1).toUpperCase();
@@ -47,12 +41,11 @@ const fallbackText = computed(() => {
<span class="flex h-4 w-4 shrink-0 items-center justify-center overflow-hidden rounded-sm">
<Settings2 v-if="provider === 'custom'" class="h-4 w-4 text-muted-foreground" />
<img
v-else-if="iconUrl && !failed"
:src="iconUrl"
v-else-if="localIconUrl && !failed"
:src="localIconUrl"
:alt="label"
class="h-4 w-4 object-contain"
:class="{ 'dark:invert': localIconUrl }"
loading="lazy"
:class="{ 'dark:invert': isDark && usesWhiteDarkIcon }"
@error="failed = true"
/>
<span v-else class="flex h-4 w-4 items-center justify-center rounded-sm bg-muted text-[8px] font-semibold">
-2
View File
@@ -940,8 +940,6 @@ export default {
proxy: "Proxy",
proxyEnable: "Send AI requests through proxy",
proxyUrl: "Proxy URL",
settingsHint:
"The config is stored in the local app data directory. Requests are sent by the Tauri backend instead of directly from the frontend.",
enableThinking: "Thinking",
enableThinkingOn: "Enabled",
enableThinkingOff: "Disabled",
-2
View File
@@ -811,8 +811,6 @@ export default {
proxy: "Proxy",
proxyEnable: "Enviar solicitudes de IA mediante proxy",
proxyUrl: "URL del proxy",
settingsHint:
"La configuración se almacena en el directorio de datos local de la aplicación. Las solicitudes son enviadas por el backend de Tauri en lugar de directamente desde el frontend.",
actions: {
generate: "Generar SQL",
explain: "Explicar SQL",
-2
View File
@@ -928,8 +928,6 @@ export default {
proxy: "Proxy",
proxyEnable: "Invia richieste AI tramite proxy",
proxyUrl: "URL Proxy",
settingsHint:
"La configurazione viene salvata nella cartella dei dati locali dell'app. Le richieste vengono inviate dal backend Tauri invece che direttamente dal frontend.",
enableThinking: "Pensiero (Thinking)",
enableThinkingOn: "Abilitato",
enableThinkingOff: "Disabilitato",
-2
View File
@@ -924,8 +924,6 @@ export default {
proxy: "Proxy",
proxyEnable: "Enviar requisições de AI através do proxy",
proxyUrl: "URL do Proxy",
settingsHint:
"A configuração é armazenada no diretório local de dados do aplicativo. As requisições são enviadas pelo backend do Tauri em vez de diretamente pelo frontend.",
enableThinking: "Raciocínio",
enableThinkingOn: "Ativado",
enableThinkingOff: "Desativado",
-1
View File
@@ -921,7 +921,6 @@ export default {
proxy: "代理",
proxyEnable: "AI 请求通过代理发送",
proxyUrl: "代理地址",
settingsHint: "配置会保存在本机应用数据目录中。请求由 Tauri 后端发出,避免在前端直接暴露给模型服务。",
enableThinking: "Thinking",
enableThinkingOn: "已启用",
enableThinkingOff: "已禁用",
-1
View File
@@ -870,7 +870,6 @@ export default {
proxy: "代理伺服器",
proxyEnable: "經由代理伺服器發送 AI 請求",
proxyUrl: "代理伺服器地址",
settingsHint: "設定會儲存在本機應用程式資料目錄中。請求由 Tauri 後端發出,避免在前端直接暴露給模型服務。",
enableThinking: "Thinking",
enableThinkingOn: "已啟用",
enableThinkingOff: "已停用",