'use client'

type Classification = 'NOT_IN_SCOPE' | 'STANDARD' | 'IMPORTANT_I' | 'IMPORTANT_II' | 'CRITICAL'

const STYLES: Record<string, { bg: string; label: string }> = {
  NOT_IN_SCOPE: { bg: 'bg-gray-200 text-gray-700', label: 'Nicht im Scope' },
  STANDARD:     { bg: 'bg-blue-100 text-blue-800', label: 'Standard' },
  IMPORTANT_I:  { bg: 'bg-yellow-100 text-yellow-800', label: 'Important Class I' },
  IMPORTANT_II: { bg: 'bg-orange-100 text-orange-800', label: 'Important Class II' },
  CRITICAL:     { bg: 'bg-red-100 text-red-800', label: 'Critical' },
}

export function ClassificationBadge({ value, size = 'md' }: { value: string | null; size?: 'sm' | 'md' | 'lg' }) {
  if (!value) {
    return <span className="px-2 py-0.5 text-xs rounded-full bg-gray-100 text-gray-500">Unbewertet</span>
  }
  const style = STYLES[value] || { bg: 'bg-gray-100 text-gray-700', label: value }
  const sizeClasses = {
    sm: 'px-2 py-0.5 text-xs',
    md: 'px-3 py-1 text-sm font-medium',
    lg: 'px-4 py-2 text-base font-semibold',
  }[size]
  return <span className={`rounded-full ${sizeClasses} ${style.bg}`}>{style.label}</span>
}
