import { formatarValor } from "@/utils";

import { format, isValid, parseISO } from "date-fns";
import { ptBR } from "date-fns/locale";
const InformacoesPreApuracao = ({
  usuariosResponsaveis,
  preApuracaoValues,
  indicadores,
}: any) => {
  const formatarData = (dataString: any) => {
    try {
      const data = parseISO(dataString);
      if (isValid(data)) {
        return format(data, "dd/MM/yyyy", { locale: ptBR });
      }
      return "Data inválida";
    } catch (error) {
      console.error("Erro ao formatar data:", error);
      return "Data inválida";
    }
  };
  return (
    <div className="p-6 bg-white shadow-md rounded-lg space-y-6">
      <h2 className="text-2xl font-semibold text-gray-800 mb-4">
        Dados da Apuração
      </h2>

      {/* Linha de Pré-Vendedor */}
      <div className="flex gap-2">
        <span className="font-semibold text-gray-700">Pré-Vendedor:</span>
        <span className="text-gray-900">
          {usuariosResponsaveis.find(
            (e: any) =>
              e.id_usuario == preApuracaoValues?.cod_preVendedor_pre_apuracao
          )?.nome_usuario || "Não Informado"}{" "}
          - <span className="font-semibold">Comissão:</span>{" "}
          {preApuracaoValues?.comissao_preVendedor_pre_apuracao || 0}%
        </span>
      </div>

      {/* Linha de Vendedor */}
      <div className="flex gap-2">
        <span className="font-semibold text-gray-700">Vendedor:</span>
        <span className="text-gray-900">
          {usuariosResponsaveis.find(
            (e: any) =>
              e.id_usuario == preApuracaoValues?.cod_vendedor_pre_apuracao
          )?.nome_usuario || "Não Informado"}{" "}
          - <span className="font-semibold">Comissão:</span>{" "}
          {preApuracaoValues?.comissao_vendedor_pre_apuracao || 0}%
        </span>
      </div>

      {/* Linha de Gerente */}
      <div className="flex gap-2">
        <span className="font-semibold text-gray-700">Gerente:</span>
        <span className="text-gray-900">
          {usuariosResponsaveis.find(
            (e: any) =>
              e.id_usuario == preApuracaoValues?.cod_gerente_pre_apuracao
          )?.nome_usuario || "Não Informado"}{" "}
          - <span className="font-semibold">Comissão:</span>{" "}
          {preApuracaoValues?.comissao_gerente_pre_apuracao || 0}%
        </span>
      </div>

      {/* Linha de Indicador */}
      <div className="flex gap-2">
        <span className="font-semibold text-gray-700">Indicador:</span>
        <span className="text-gray-900">
          {indicadores.find(
            (e: any) =>
              e.id_indicador == preApuracaoValues?.cod_indicador_pre_apuracao
          )?.nome_indicador || "Não Informado"}{" "}
          - <span className="font-semibold">Comissão:</span>{" "}
          {preApuracaoValues?.comissao_indicador_pre_apuracao || 0}%
        </span>
      </div>

      <div className="flex justify-between">
        <span className="font-semibold text-gray-700">Comissão Indicador:</span>
        <span className="text-gray-900">
          {+preApuracaoValues?.comissao_indicador_pre_apuracao}%
        </span>
      </div>
      <div className="flex justify-between">
        <span className="font-semibold text-gray-700">Valor Proposta:</span>
        <span className="text-gray-900">
          {formatarValor(+preApuracaoValues?.valor_proposta_apuracao)}
        </span>
      </div>

      {/* Valor Proposta com Comissões */}
      <div className="flex gap-2">
        <span className="font-semibold text-gray-700">
          Valor da Proposta com Comissões:
        </span>
        <span className="text-gray-900">
          {formatarValor(
            +preApuracaoValues?.valor_propostaComissoes_apuracao || 0
          )}
        </span>
      </div>

      {/* Data da Pré-Apuração */}
      <div className="flex gap-2">
        <span className="font-semibold text-gray-700">Data Apuração:</span>
        <span className="text-gray-900">
          {formatarData(preApuracaoValues?.datahora_pre_apuracao)}
        </span>
      </div>
    </div>
  );
};

export default InformacoesPreApuracao;
