import { CheckCircle2, AlertCircle, Info } from 'lucide-react' import { useTranslation } from 'react-i18next' import { Badge, Button, Alert } from './ui' import type { DetectionResult } from '../api/dnsDetection' import type { DNSProvider } from '../api/dnsProviders' interface DNSDetectionResultProps { result: DetectionResult onUseSuggested?: (provider: DNSProvider) => void onSelectManually?: () => void isLoading?: boolean } export function DNSDetectionResult({ result, onUseSuggested, onSelectManually, isLoading = false, }: DNSDetectionResultProps) { const { t } = useTranslation() if (isLoading) { return (

{t('dns_detection.detecting')}

) } if (result.error) { return (

{t('dns_detection.error', { error: result.error })}

) } if (!result.detected) { return (

{t('dns_detection.not_detected')}

{result.nameservers.length > 0 && (

{t('dns_detection.nameservers')}:

    {result.nameservers.map((ns, i) => (
  • {ns}
  • ))}
)}
) } const getConfidenceBadgeVariant = (confidence: string) => { switch (confidence) { case 'high': return 'success' case 'medium': return 'warning' case 'low': return 'outline' default: return 'outline' } } const getConfidenceLabel = (confidence: string) => { return t(`dns_detection.confidence_${confidence}`) } return (

{t('dns_detection.detected', { provider: result.provider_type })}

{getConfidenceLabel(result.confidence)}
{result.suggested_provider && (
)} {result.nameservers.length > 0 && (
{t('dns_detection.nameservers')} ({result.nameservers.length})
    {result.nameservers.map((ns, i) => (
  • {ns}
  • ))}
)}
) }