import { Badge } from '@/components/ui/badge';
import { cn } from '@/lib/utils';

const estadoLabels: Record<string, string> = {
    borrador: 'Borrador',
    en_revision: 'En revisión',
    validada: 'Validada',
    aprobada: 'Aprobada',
    observado: 'Observado',
};

const estadoVariants: Record<string, string> = {
    borrador: 'border-slate-200 bg-slate-500/10 text-slate-700 dark:border-slate-500/30 dark:text-slate-300',
    en_revision: 'border-blue-200 bg-blue-500/10 text-blue-700 dark:border-blue-500/30 dark:text-blue-300',
    validada: 'border-emerald-200 bg-emerald-500/10 text-emerald-700 dark:border-emerald-500/30 dark:text-emerald-300',
    aprobada: 'border-emerald-200 bg-emerald-500/10 text-emerald-700 dark:border-emerald-500/30 dark:text-emerald-300',
    observado: 'border-amber-200 bg-amber-500/10 text-amber-700 dark:border-amber-500/30 dark:text-amber-300',
};

export function EstadoBadge({
    estado,
    className,
}: {
    estado: string;
    className?: string;
}) {
    const label = estadoLabels[estado] ?? estado;
    const variantClass = estadoVariants[estado] ?? estadoVariants.borrador;

    return (
        <Badge variant="outline" className={cn(variantClass, className)}>
            {label}
        </Badge>
    );
}
