'use client';

import { CheckCircle2, Clock, XCircle } from 'lucide-react';
import { ICON_SIZE_MD } from '@/components/icons';
import React from 'react';
import { Tag } from 'antd';

export function getCodeReviewStatusTag(status: string) {
    const statusConfig: Record<string, { color: string; label: string; icon: React.ReactNode }> = {
        pendente: { color: 'default', label: 'Pendente', icon: <Clock /> },
        em_revisao: { color: 'processing', label: 'Em Revisão', icon: <Clock /> },
        aprovado: { color: 'success', label: 'Aprovado', icon: <CheckCircle2 /> },
        rejeitado: { color: 'error', label: 'Rejeitado', icon: <XCircle /> },
        alteracoes_solicitadas: {
            color: 'warning',
            label: 'Alterações Solicitadas',
            icon: <Clock />,
        },
    };
    const config = statusConfig[status] || { color: 'default', label: status, icon: null };
    return (
        <Tag color={config.color} icon={config.icon}>
            {config.label}
        </Tag>
    );
}

export function getCodeReviewPrioridadeTag(prioridade: string) {
    const prioridadeConfig: Record<string, { color: string; label: string }> = {
        baixa: { color: 'default', label: 'Baixa' },
        media: { color: 'blue', label: 'Média' },
        alta: { color: 'orange', label: 'Alta' },
        critica: { color: 'red', label: 'Crítica' },
    };
    const config = prioridadeConfig[prioridade] || { color: 'default', label: prioridade };
    return <Tag color={config.color}>{config.label}</Tag>;
}
