From e77b0c5d4eaf0fd83493fbe273d619aa23e7f79e Mon Sep 17 00:00:00 2001 From: Anish Sarkar <104695310+AnishSarkar22@users.noreply.github.com> Date: Sat, 13 Jun 2026 00:25:53 +0530 Subject: [PATCH] feat(icons): add Azure, Claude, and LM Studio icons; update Bedrock icon and provider metadata --- .../components/icons/providers/azure.svg | 1 + .../components/icons/providers/bedrock.svg | 2 +- .../components/icons/providers/claude.svg | 1 + .../components/icons/providers/index.ts | 3 +++ .../components/icons/providers/lm-studio.svg | 21 +++++++++++++++++++ .../components/icons/providers/vertexai.svg | 2 +- .../model-connections/provider-metadata.tsx | 6 +++--- surfsense_web/lib/provider-icons.tsx | 14 +++++++++---- 8 files changed, 41 insertions(+), 9 deletions(-) create mode 100644 surfsense_web/components/icons/providers/azure.svg create mode 100644 surfsense_web/components/icons/providers/claude.svg create mode 100644 surfsense_web/components/icons/providers/lm-studio.svg diff --git a/surfsense_web/components/icons/providers/azure.svg b/surfsense_web/components/icons/providers/azure.svg new file mode 100644 index 000000000..ba80f55ca --- /dev/null +++ b/surfsense_web/components/icons/providers/azure.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/surfsense_web/components/icons/providers/bedrock.svg b/surfsense_web/components/icons/providers/bedrock.svg index 195aa6594..cde500c0d 100644 --- a/surfsense_web/components/icons/providers/bedrock.svg +++ b/surfsense_web/components/icons/providers/bedrock.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/surfsense_web/components/icons/providers/claude.svg b/surfsense_web/components/icons/providers/claude.svg new file mode 100644 index 000000000..8d732d5b0 --- /dev/null +++ b/surfsense_web/components/icons/providers/claude.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/surfsense_web/components/icons/providers/index.ts b/surfsense_web/components/icons/providers/index.ts index aefa2a053..8275595b1 100644 --- a/surfsense_web/components/icons/providers/index.ts +++ b/surfsense_web/components/icons/providers/index.ts @@ -1,8 +1,10 @@ export { default as Ai21Icon } from "./ai21.svg"; export { default as AnthropicIcon } from "./anthropic.svg"; export { default as AnyscaleIcon } from "./anyscale.svg"; +export { default as AzureIcon } from "./azure.svg"; export { default as BedrockIcon } from "./bedrock.svg"; export { default as CerebrasIcon } from "./cerebras.svg"; +export { default as ClaudeIcon } from "./claude.svg"; export { default as CohereIcon } from "./cohere.svg"; export { default as CometApiIcon } from "./cometapi.svg"; export { default as DatabricksIcon } from "./dbrx.svg"; @@ -15,6 +17,7 @@ export { default as GroqIcon } from "./groq.svg"; export { default as HuggingFaceIcon } from "./huggingface.svg"; export { default as MiniMaxIcon } from "./minimax.svg"; export { default as MistralIcon } from "./mistral.svg"; +export { default as LmStudioIcon } from "./lm-studio.svg"; export { default as MoonshotIcon } from "./moonshot.svg"; export { default as NscaleIcon } from "./nscale.svg"; export { default as OllamaIcon } from "./ollama.svg"; diff --git a/surfsense_web/components/icons/providers/lm-studio.svg b/surfsense_web/components/icons/providers/lm-studio.svg new file mode 100644 index 000000000..b6ae7db3e --- /dev/null +++ b/surfsense_web/components/icons/providers/lm-studio.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/surfsense_web/components/icons/providers/vertexai.svg b/surfsense_web/components/icons/providers/vertexai.svg index 45adce83b..e46a3ca0f 100644 --- a/surfsense_web/components/icons/providers/vertexai.svg +++ b/surfsense_web/components/icons/providers/vertexai.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/surfsense_web/components/settings/model-connections/provider-metadata.tsx b/surfsense_web/components/settings/model-connections/provider-metadata.tsx index 73e873393..8b8a877b9 100644 --- a/surfsense_web/components/settings/model-connections/provider-metadata.tsx +++ b/surfsense_web/components/settings/model-connections/provider-metadata.tsx @@ -19,12 +19,12 @@ export const PROVIDER_DISPLAY: Record< anthropic: { name: "Claude", subtitle: "Anthropic", - iconKey: "anthropic", + iconKey: "claude", defaultBaseUrl: "https://api.anthropic.com/v1", }, - azure: { name: "Azure OpenAI", subtitle: "Microsoft Azure", iconKey: "azure_openai" }, + azure: { name: "Azure OpenAI", subtitle: "Microsoft Azure", iconKey: "azure" }, bedrock: { name: "Amazon Bedrock", subtitle: "AWS", iconKey: "bedrock" }, - lm_studio: { name: "LM Studio", subtitle: "LM Studio", iconKey: "custom" }, + lm_studio: { name: "LM Studio", subtitle: "LM Studio", iconKey: "lm_studio" }, ollama_chat: { name: "Ollama", subtitle: "Ollama", iconKey: "ollama" }, openai: { name: "GPT", diff --git a/surfsense_web/lib/provider-icons.tsx b/surfsense_web/lib/provider-icons.tsx index 3bb310904..4b2a4dfbe 100644 --- a/surfsense_web/lib/provider-icons.tsx +++ b/surfsense_web/lib/provider-icons.tsx @@ -1,10 +1,11 @@ import { Cpu, Shuffle } from "lucide-react"; import { Ai21Icon, - AnthropicIcon, AnyscaleIcon, + AzureIcon, BedrockIcon, CerebrasIcon, + ClaudeIcon, CloudflareIcon, CohereIcon, CometApiIcon, @@ -16,6 +17,7 @@ import { GitHubModelsIcon, GroqIcon, HuggingFaceIcon, + LmStudioIcon, MiniMaxIcon, MistralIcon, MoonshotIcon, @@ -54,12 +56,13 @@ export function getProviderIcon( case "ALIBABA_QWEN": return ; case "ANTHROPIC": - return ; + case "CLAUDE": + return ; case "ANYSCALE": return ; case "AZURE": case "AZURE_OPENAI": - return ; + return ; case "AWS_BEDROCK": case "BEDROCK": return ; @@ -72,7 +75,7 @@ export function getProviderIcon( case "COMETAPI": return ; case "CUSTOM": - return ; + return ; case "DATABRICKS": return ; case "DEEPINFRA": @@ -89,6 +92,8 @@ export function getProviderIcon( return ; case "HUGGINGFACE": return ; + case "LM_STUDIO": + return ; case "MINIMAX": return ; case "MISTRAL": @@ -98,6 +103,7 @@ export function getProviderIcon( case "NSCALE": return ; case "OLLAMA": + case "OLLAMA_CHAT": return ; case "OPENAI": return ;