import React, { useState } from "react"; import ModalCom from "../Helpers/ModalCom"; import LoadingSpinner from "../Spinners/LoadingSpinner"; import InputCom from "../Helpers/Inputs/InputCom/index"; import usersService from "../../services/UsersService"; import { apiConst } from "../../lib/apiConst"; export default function AddGroup({ action, situation, setUpdateList }) { const api = new usersService(); const [name, setName] = useState(""); const handleChange = ({ target: { name, value } }) => { setName(value); }; let [requestStatus, setRequestStatus] = useState({ loading: false, status: false, message: "", }); // STATE FOR KNOWING WHEN A REQUEST IS MADE TO THE SERVER const addGroup = () => { setRequestStatus({ loading: true, status: false, message: "" }); if (name == "") { setRequestStatus({ loading: false, status: false, message: "Please enter a group name", }); return setTimeout(() => { setRequestStatus({ loading: false, status: false, message: "" }); }, 3000); } if (name.length < 6) { setRequestStatus({ loading: false, status: false, message: "Group name must be up to six characters", }); return setTimeout(() => { setRequestStatus({ loading: false, status: false, message: "" }); }, 3000); } api .jobGroupAdd({ group_name: name, action: apiConst.WRENCHBOARD_JOB_OFFER_SYSTEM, }) .then((response) => { let { status, data } = response; if (status != 200 || data.internal_return < 0) { setRequestStatus({ loading: false, status: false, message: "Unable to add Group", }); return; } setRequestStatus({ loading: false, status: true, message: "Group Added", }); setTimeout(() => { setRequestStatus({ loading: false, status: false, message: "" }); // close modal action(); // reload group page setUpdateList((prev) => !prev); }, 3000); }) .catch((error) => { setRequestStatus({ loading: false, status: false, message: "Unable to add Group, try again later", }); }) .finally(() => { setTimeout(() => { setRequestStatus({ loading: false, status: false, message: "" }); }, 3000); }); }; return (

Add Group

{requestStatus.loading ? ( ) : ( )}
{/* ERROR DISPLAY AND SUBMIT BUTTON */} {requestStatus.message != "" && (!requestStatus.status ? (
{requestStatus.message}
) : ( requestStatus.status && (
{requestStatus.message}
) ))} {/* End of error or success display */}
); }