import Button from "@/components/Forms/Button";
import LoaderSun from "@/components/common/Loader/LoaderSun";
import { editarCliente } from "@/requests/CRUD/ClienteLinksun/editarCliente";
import { obterClienteLinksun } from "@/requests/CRUD/ClienteLinksun/obterCliente";
import { useAuth } from "@/src/contexts/authContext";
import { useEffect, useState } from "react";
import FormIntegrador from "./FormIntegrador";

const FormIntegradorComponent = () => {
  const [isLoading, setIsLoading] = useState(false);
  const [integradorData, setIntegradorData] = useState<any>(false);
  const { valuesSession } = useAuth();
  const { session } = valuesSession();

  useEffect(() => {
    obterClienteLinksun(session.sigla).then((res) => setIntegradorData(res));
  }, []);

  const onSubmitFunction = (data: any) => {
    setIsLoading(true);

    editarCliente({ ...integradorData, ...data }).finally(() =>
      setIsLoading(false)
    );
  };

  return integradorData ? (
    <FormIntegrador
      onSubmitFunction={onSubmitFunction}
      defaultValues={integradorData}
    >
      <div className="w-full flex flex-col items-center justify-center">
        <Button className="max-sm:w-full" loading={isLoading}>
          Salvar
        </Button>
      </div>
    </FormIntegrador>
  ) : (
    <div className="w-full h-[500px] flex flex-col justify-center items-center">
      <LoaderSun />
    </div>
  );
};

export default FormIntegradorComponent;
