diff --git a/web/src/app/admin/configuration/llm/interfaces.ts b/web/src/app/admin/configuration/llm/interfaces.ts
index 01baa99d6f0..6f40e207816 100644
--- a/web/src/app/admin/configuration/llm/interfaces.ts
+++ b/web/src/app/admin/configuration/llm/interfaces.ts
@@ -1,17 +1,14 @@
import {
AnthropicIcon,
AmazonIcon,
- AWSIcon,
- AzureIcon,
CPUIcon,
MicrosoftIconSVG,
MistralIcon,
MetaIcon,
GeminiIcon,
- AnthropicSVG,
IconProps,
- OpenAIISVG,
DeepseekIcon,
+ OpenAISVG,
} from "@/components/icons/icons";
export interface CustomConfigKey {
@@ -74,7 +71,7 @@ export interface LLMProviderDescriptor {
}
export const getProviderIcon = (providerName: string, modelName?: string) => {
- const modelIconMap: Record<
+ const iconMap: Record<
string,
({ size, className }: IconProps) => JSX.Element
> = {
@@ -86,34 +83,30 @@ export const getProviderIcon = (providerName: string, modelName?: string) => {
gemini: GeminiIcon,
deepseek: DeepseekIcon,
claude: AnthropicIcon,
+ anthropic: AnthropicIcon,
+ openai: OpenAISVG,
+ microsoft: MicrosoftIconSVG,
+ meta: MetaIcon,
+ google: GeminiIcon,
};
- const modelNameToIcon = (
- modelName: string,
- fallbackIcon: ({ size, className }: IconProps) => JSX.Element
- ): (({ size, className }: IconProps) => JSX.Element) => {
- const lowerModelName = modelName?.toLowerCase();
- for (const [key, icon] of Object.entries(modelIconMap)) {
- if (lowerModelName?.includes(key)) {
+ // First check if provider name directly matches an icon
+ if (providerName.toLowerCase() in iconMap) {
+ return iconMap[providerName.toLowerCase()];
+ }
+
+ // Then check if model name contains any of the keys
+ if (modelName) {
+ const lowerModelName = modelName.toLowerCase();
+ for (const [key, icon] of Object.entries(iconMap)) {
+ if (lowerModelName.includes(key)) {
return icon;
}
}
- return fallbackIcon;
- };
-
- switch (providerName) {
- case "openai":
- // Special cases for openai based on modelName
- return modelNameToIcon(modelName || "", OpenAIISVG);
- case "anthropic":
- return AnthropicSVG;
- case "bedrock":
- return AWSIcon;
- case "azure":
- return AzureIcon;
- default:
- return modelNameToIcon(modelName || "", CPUIcon);
}
+
+ // Fallback to CPU icon if no matches
+ return CPUIcon;
};
export const isAnthropic = (provider: string, modelName: string) =>
diff --git a/web/src/app/admin/indexing/status/FilterComponent.tsx b/web/src/app/admin/indexing/status/FilterComponent.tsx
index d6bcc654fb7..144cb094f66 100644
--- a/web/src/app/admin/indexing/status/FilterComponent.tsx
+++ b/web/src/app/admin/indexing/status/FilterComponent.tsx
@@ -185,7 +185,10 @@ export const FilterComponent = forwardRef<
hasActiveFilters ? "border-primary bg-primary/5" : ""
}`}
>
-
+
-
+
)}
diff --git a/web/src/components/icons/icons.tsx b/web/src/components/icons/icons.tsx
index cd02e94f9f2..55d2ea6482c 100644
--- a/web/src/components/icons/icons.tsx
+++ b/web/src/components/icons/icons.tsx
@@ -3102,27 +3102,6 @@ export const OpenAISVG = ({
);
};
-export const AnthropicSVG = ({
- size = 16,
- className = defaultTailwindCSS,
-}: IconProps) => {
- return (
-
- );
-};
-
export const SourcesIcon = ({
size = 16,
className = defaultTailwindCSS,