import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { AlertCircle, CheckCircle2, Eye, EyeOff, Loader2, Zap } from 'lucide-react'; import type { ProviderConfig } from '@/config/api-providers'; interface ApiKeyFieldProps { config: ProviderConfig; } export function ApiKeyField({ config }: ApiKeyFieldProps) { const { label, inputId, placeholder, value, setValue, showValue, setShowValue, hasStoredKey, inputTestId, toggleTestId, testButton, result, resultTestId, resultMessageTestId, descriptionPrefix, descriptionLinkHref, descriptionLinkText, descriptionSuffix, } = config; return (
{hasStoredKey && }
setValue(e.target.value)} placeholder={placeholder} className="pr-10 bg-input border-border text-foreground placeholder:text-muted-foreground" data-testid={inputTestId} />

{descriptionPrefix}{' '} {descriptionLinkText} {descriptionSuffix}

{result && (
{result.success ? ( ) : ( )} {result.message}
)}
); }