import { Chip } from '@mui/material'
import type { ReviewTaskStatus } from '../../domain/review'

interface ReviewStatusBadgeProps {
  status: ReviewTaskStatus
  size?: 'small' | 'medium'
}

const CONFIG: Record<ReviewTaskStatus, { label: string; color: string }> = {
  PENDING:         { label: 'Ausstehend',        color: '#d97706' },
  IN_REVIEW:       { label: 'In Prüfung',         color: '#2563eb' },
  APPROVED:        { label: 'Genehmigt',          color: '#1a7a4a' },
  REJECTED:        { label: 'Abgelehnt',          color: '#c0392b' },
  NEEDS_MORE_DATA: { label: 'Mehr Daten nötig',   color: '#7c3aed' },
  ESCALATED:       { label: 'Eskaliert',          color: '#ea580c' },
}

export function ReviewStatusBadge({ status, size = 'small' }: ReviewStatusBadgeProps) {
  const { label, color } = CONFIG[status] ?? CONFIG.PENDING
  return (
    <Chip
      size={size}
      label={label}
      sx={{
        bgcolor: `${color}18`,
        color,
        fontWeight: 600,
        fontSize: size === 'small' ? '0.7rem' : '0.8125rem',
        border: `1px solid ${color}40`,
      }}
    />
  )
}
