import type { ComponentProps } from 'react';
import { Badge } from '@/components/ui/badge';
import type { ExtractionStatus } from '@/features/documents/types';

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

const statusMap: Record<ExtractionStatus, { label: string; variant: BadgeVariant }> = {
    pending: { label: 'In asteptare', variant: 'warningSoft' },
    processing: { label: 'In procesare', variant: 'infoSoft' },
    success: { label: 'Succes', variant: 'successSoft' },
    failed: { label: 'Esec', variant: 'destructiveSoft' },
};

export function ExtractionStatusBadge({ status }: { status: ExtractionStatus | null }) {
    if (!status) {
        return <Badge variant="secondarySoft">N/A</Badge>;
    }

    const mapped = statusMap[status];

    return <Badge variant={mapped.variant}>{mapped.label}</Badge>;
}
