mirror of
https://github.com/hanzoai/insights.git
synced 2026-10-30 16:15:31 +00:00
Workflow template cards, the template choosers, the auth wallpaper, insight previews, partner pages, SDK logos and every fixture stop pulling posthog's cloudinary; the CSP stops allowing it. The mascot easter egg leaves with its sprite package. insights-js resolves to @hanzo/insights for every consumer — the react wrapper's peer included, via a workspace package that carries the name — and its rrweb siblings map to our published forks. Icon names that outran our icon release alias to shipped glyphs.
55 lines
1.6 KiB
TypeScript
55 lines
1.6 KiB
TypeScript
import { AnthropicLogo } from 'scenes/onboarding/shared/logos/AnthropicLogo'
|
|
import geminiImage from 'scenes/onboarding/shared/logos/gemini.svg'
|
|
import { OpenAILogo } from 'scenes/onboarding/shared/logos/OpenAILogo'
|
|
import { OpenRouterLogo } from 'scenes/onboarding/shared/logos/OpenRouterLogo'
|
|
import zeaburImage from 'scenes/onboarding/shared/logos/zeabur.svg'
|
|
|
|
import azureImage from 'public/services/azure.png'
|
|
|
|
import { LLMProvider, LLM_PROVIDER_LABELS } from './settings/llmProviderKeysLogic'
|
|
|
|
const PROVIDER_IMAGES: Partial<Record<LLMProvider, string>> = {
|
|
gemini: geminiImage,
|
|
together_ai: '',
|
|
fireworks: '',
|
|
minimax: '',
|
|
zeabur: zeaburImage,
|
|
azure_openai: azureImage,
|
|
}
|
|
|
|
const PROVIDER_COMPONENTS: Partial<Record<LLMProvider, React.ComponentType>> = {
|
|
openai: OpenAILogo,
|
|
openrouter: OpenRouterLogo,
|
|
anthropic: AnthropicLogo,
|
|
}
|
|
|
|
export function LLMProviderIcon({
|
|
provider,
|
|
className = 'size-4',
|
|
}: {
|
|
provider: LLMProvider
|
|
className?: string
|
|
}): JSX.Element | null {
|
|
const imageUrl = PROVIDER_IMAGES[provider]
|
|
if (imageUrl) {
|
|
return <img src={imageUrl} className={className} alt={provider} />
|
|
}
|
|
|
|
const Component = PROVIDER_COMPONENTS[provider]
|
|
if (Component) {
|
|
return (
|
|
<span className={`${className} inline-flex items-center justify-center overflow-hidden`}>
|
|
<Component />
|
|
</span>
|
|
)
|
|
}
|
|
|
|
return null
|
|
}
|
|
|
|
export const LLM_PROVIDER_SELECT_OPTIONS = (Object.keys(LLM_PROVIDER_LABELS) as LLMProvider[]).map((provider) => ({
|
|
value: provider,
|
|
label: LLM_PROVIDER_LABELS[provider],
|
|
icon: <LLMProviderIcon provider={provider} />,
|
|
}))
|