mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-10-08 04:49:39 +00:00
Added provider icons (#934)
Co-authored-by: Thorsten Sommer <SommerEngineering@users.noreply.github.com>
This commit is contained in:
1 parent
afdcc0455d
commit
e78a0e61b9
74 files changed
+1018
-74
No files matched your search
@@ -0,0 +1,42 @@
|
||||
namespace AIStudio.Provider;
|
||||
|
||||
public static class LLMProvidersIconExtensions
|
||||
{
|
||||
private const string ICON_ROOT = "/images/provider-icons";
|
||||
private const string SVG_DATA_URL_PREFIX = "data:image/svg+xml;base64,";
|
||||
|
||||
public static string GetIconUrl(this AIStudio.Settings.Provider provider, bool isDarkMode)
|
||||
=> provider.UsedLLMProvider.GetIconUrl(isDarkMode, provider.CustomIconDataUrl);
|
||||
|
||||
public static string GetIconUrl(this LLMProviders provider, bool isDarkMode, string? customIconDataUrl)
|
||||
{
|
||||
if (customIconDataUrl?.StartsWith(SVG_DATA_URL_PREFIX, StringComparison.Ordinal) == true)
|
||||
return customIconDataUrl;
|
||||
|
||||
return provider.GetIconUrl(isDarkMode);
|
||||
}
|
||||
|
||||
public static string GetIconUrl(this LLMProviders provider, bool isDarkMode) => provider switch
|
||||
{
|
||||
LLMProviders.NONE => $"{ICON_ROOT}/provider{DarkVariant(isDarkMode)}.svg",
|
||||
LLMProviders.OPEN_AI => $"{ICON_ROOT}/openai{DarkVariant(isDarkMode)}.svg",
|
||||
LLMProviders.ANTHROPIC => $"{ICON_ROOT}/anthropic{DarkVariant(isDarkMode)}.svg",
|
||||
LLMProviders.MISTRAL => $"{ICON_ROOT}/mistral.svg",
|
||||
LLMProviders.GOOGLE => $"{ICON_ROOT}/google.svg",
|
||||
LLMProviders.X => $"{ICON_ROOT}/x{DarkVariant(isDarkMode)}.svg",
|
||||
LLMProviders.DEEP_SEEK => $"{ICON_ROOT}/deepseek.svg",
|
||||
LLMProviders.ALIBABA_CLOUD => $"{ICON_ROOT}/alibaba-cloud.svg",
|
||||
LLMProviders.PERPLEXITY => $"{ICON_ROOT}/perplexity.svg",
|
||||
LLMProviders.OPEN_ROUTER => $"{ICON_ROOT}/openrouter.svg",
|
||||
LLMProviders.HETZNER => $"{ICON_ROOT}/hetzner.svg",
|
||||
LLMProviders.GROQ => $"{ICON_ROOT}/groq.svg",
|
||||
LLMProviders.FIREWORKS => $"{ICON_ROOT}/fireworks.svg",
|
||||
LLMProviders.HUGGINGFACE => $"{ICON_ROOT}/hugging-face.svg",
|
||||
LLMProviders.SELF_HOSTED => $"{ICON_ROOT}/self-hosted{DarkVariant(isDarkMode)}.svg",
|
||||
LLMProviders.HELMHOLTZ => $"{ICON_ROOT}/helmholtz.svg",
|
||||
LLMProviders.GWDG => $"{ICON_ROOT}/gwdg.svg",
|
||||
_ => $"{ICON_ROOT}/provider{DarkVariant(isDarkMode)}.svg",
|
||||
};
|
||||
|
||||
private static string DarkVariant(bool isDarkMode) => isDarkMode ? "-dark" : string.Empty;
|
||||
}
|
||||
Reference in new issue
Block a user