import FormPropostaDrive from "@/pages/CXESCRM005/FormProposta.old";
import { useProposalContext } from "@/src/contexts/ProposalContext";
import { useState } from "react";

const RegerarProposta = ({
  inversorAlteracaoProposta,
  rangeModulos,
  propostaSelecionada,
  valorAlteradoProposta,
  proposta,
  dadosProposta,
  setCanCloseModal,
  setDadosProposta,
  dadosCard,
  parametros,
  usuario,
  dadosCliente,
  loja,
  setStatusSavingProposta,
  setIsSavingProposal,
}: any) => {
  const { relacionarDadosProposta } = useProposalContext();
  const [mostrarPdf, setMostrarPdf] = useState(false);

  const potenciaModulos =
    dadosProposta?.potencia_modulo?.value ??
    dadosProposta?.potencia_modulo ??
    "";
  const periodoEficiencia =
    dadosProposta?.modulo_proposta?.anos_eficiencia_item ??
    dadosProposta?.periodoEficiencia ??
    "";
  const eficienciaModulos25Anos =
    dadosProposta?.modulo_proposta?.eficiencia_25anos_item ??
    dadosProposta?.eficiencia_modulos_25anos ??
    "";

  const moduloProposta = dadosProposta?.componentesKit?.find(
    (comp: any) => comp.id_tipo_item == "9"
  );

  const qtd_expansivel_modulos = Number(
    dadosProposta.maxModulos - +moduloProposta?.qtd_item
  );

  const consumoMensal =
    Number(dadosProposta?.consumoTotal ?? dadosProposta?.consumoTotal?.value) ||
    0;
  const consumoTotalAnual = consumoMensal
    ? (consumoMensal * 12).toFixed(2)
    : "0";

  const dadosPropostaA = {
    // JSON.propostas da geração original — contém as tags já montadas
    // (tabela_geracao, dias_prazo_entrega, modelo_modulo, max_modulos, etc.)
    ...(proposta && !Array.isArray(proposta) ? proposta : {}),
    ...dadosProposta,
    regeracaoProposta: 1,
    id_proposta: propostaSelecionada.id_proposta,
    revisaoProposta: propostaSelecionada.revisao_proposta,
    novoValorProposta: valorAlteradoProposta,
    inversorAlteracao: inversorAlteracaoProposta,
    rangeModulos: rangeModulos,
    potencia_modulos: potenciaModulos,
    periodoEficiencia,
    eficiencia_modulos_25anos: eficienciaModulos25Anos,
    consumoTotal_anual: consumoTotalAnual,
    qtd_expansivel_modulos: qtd_expansivel_modulos,
  };
  return (
    <div className="flex justify-center  h-1/2 mt-4">
      <FormPropostaDrive
        parametros={parametros}
        setStatusSavingProposta={setStatusSavingProposta}
        setIsSavingProposal={setIsSavingProposal}
        dadosProposta={dadosPropostaA}
        dadosFormProposta={dadosProposta}
        usuario={usuario}
        dadosCliente={dadosCliente}
        setDadosProposta={setDadosProposta}
        relacionarDados={relacionarDadosProposta}
        setMostrarPdf={setMostrarPdf}
        dadosCard={dadosCard}
        loja={loja}
      />
    </div>
  );
};

export default RegerarProposta;
