import { Button } from '@/components/ui/button'; import { Box, Plus } from 'lucide-react'; import { cn } from '@/lib/utils'; import { useI18n } from '@/lib/hooks/use-i18n'; import type { ProviderId, ProviderConfig } from '@/lib/ai/providers'; import { MONO_LOGO_PROVIDERS } from '@/lib/ai/providers'; interface ProviderWithServerInfo extends ProviderConfig { isServerConfigured?: boolean; } interface ProviderListProps { providers: ProviderWithServerInfo[]; selectedProviderId: ProviderId; onSelect: (providerId: ProviderId) => void; onAddProvider: () => void; width?: number; } export function ProviderList({ providers, selectedProviderId, onSelect, onAddProvider, width, }: ProviderListProps) { const { t } = useI18n(); // Helper function to get translated provider name const getProviderDisplayName = (provider: ProviderConfig) => { const translationKey = `settings.providerNames.${provider.id}`; const translated = t(translationKey); // If translation exists (not equal to key), use it; otherwise fallback to provider.name return translated !== translationKey ? translated : provider.name; }; return (
{providers.map((provider) => ( ))}
{/* Add Provider Button */}
); }