import { Chip } from '@mui/material' import { ShieldCheck } from 'lucide-react' import type { ConfidenceLevel } from '../../domain/enums' import { DS_COLORS, scoreToConfidenceLevel } from '../../lib/ds' import { CONFIDENCE_LABELS } from '../../lib/constants' interface ConfidenceBadgeProps { level?: ConfidenceLevel score?: number size?: 'small' | 'medium' } export function ConfidenceBadge({ level, score, size = 'small' }: ConfidenceBadgeProps) { const resolved: ConfidenceLevel = level ?? (score !== undefined ? scoreToConfidenceLevel(score) : 'MEDIUM') const { bg, fg } = DS_COLORS.confidence[resolved] const scoreLabel = score !== undefined ? ` (${Math.round(score * 100)}%)` : '' const label = `${CONFIDENCE_LABELS[resolved] ?? resolved}${scoreLabel}` return ( } aria-label={`Konfidenz: ${label}`} sx={{ bgcolor: bg, color: fg, border: 'none', fontWeight: 600, fontSize: '0.7rem', '& .MuiChip-icon': { ml: 0.5 }, }} /> ) }