import React, { useEffect, useState } from "react"; import PhoneInput from "react-phone-input-2"; import "react-phone-input-2/lib/style.css"; import { useNavigate, useParams } from "react-router-dom"; import Swal from "sweetalert2"; import withReactContent from "sweetalert2-react-content"; import { apiRequest } from "@api/request"; import { Loader } from "@components/Common/Loader/Loader"; import "./form.scss"; const SweetAlert = withReactContent(Swal); const Form = () => { const navigate = useNavigate(); const urlParams = useParams(); const [status, setStatus] = useState(null); const [data, setData] = useState({ email: "", phone: "", comment: "", }); const [isFetching, setIsFetching] = useState(false); const handleModal = (status) => { SweetAlert.fire({ text: // eslint-disable-next-line no-constant-condition status !== 200 || 201 ? "Какие-то неполадки =(" : "Форма отправлена", preConfirm: () => // eslint-disable-next-line no-constant-condition status !== 200 || 201 ? () => { setStatus(null); } : () => { setStatus(null); navigate(`/candidate/${urlParams.id}`); }, }); }; useEffect(() => { if (status) { handleModal(status); } }, [status]); const handleChange = (e) => { const { id, value } = e.target; setData((prev) => ({ ...prev, [id]: value, })); }; const handleSubmit = (e) => { e.preventDefault(); setIsFetching(true); const formData = new FormData(); formData.append("profile_id", urlParams.id); formData.append("Email", data.email); formData.append("phone", data.phone); formData.append("comment", data.comment); apiRequest("/interview-request/create-interview-request", { method: "POST", params: { profile_id: urlParams.id, ...data, }, }).then((res) => { setStatus(res); setIsFetching(false); }); }; return (