import type { ComponentProps } from 'react';
import { Badge } from '@/components/ui/badge';
import type { DocumentAiStatus } from '@/features/documents/types';
import { cn } from '@/lib/utils';

type BadgeVariant = ComponentProps<typeof Badge>['variant'];

const statusMap: Record<DocumentAiStatus, { label: string; variant: BadgeVariant }> = {
    not_processed: { label: 'Neprocesat', variant: 'secondarySoft' },
    processing: { label: 'In procesare', variant: 'infoSoft' },
    processed: { label: 'Procesat', variant: 'successSoft' },
    failed: { label: 'Eroare', variant: 'destructiveSoft' },
    split: { label: 'Separat', variant: 'warningSoft' },
};

export function DocumentAiStatusBadge({
    status,
    className,
}: {
    status: DocumentAiStatus;
    className?: string;
}) {
    const mapped = statusMap[status];

    return (
        <Badge variant={mapped.variant} className={cn(className)}>
            {mapped.label}
        </Badge>
    );
}
