diff --git a/src/components/FirmwareUpgradeModal.js b/src/components/FirmwareUpgradeModal.js index 91be5a5..accd173 100644 --- a/src/components/FirmwareUpgradeModal.js +++ b/src/components/FirmwareUpgradeModal.js @@ -6,7 +6,6 @@ import { CModalBody, CModalFooter, CSpinner, - CBadge, CCol, CRow, CInput, @@ -26,10 +25,12 @@ const FirmwareUpgradeModal = ({ show, toggleModal }) => { const [waiting, setWaiting] = useState(false); const [chosenDate, setChosenDate] = useState(new Date().toString()); const [firmware, setFirmware] = useState(''); + const [doingNow, setDoingNow] = useState(false); const [validFirmware, setValidFirmware] = useState(true); const [validDate, setValidDate] = useState(true); const [responseBody, setResponseBody] = useState(''); const [checkingIfSure, setCheckingIfSure] = useState(false); + const [checkingIfNow, setCheckingIfNow] = useState(false); const selectedDeviceId = useSelector((state) => state.selectedDeviceId); const formValidation = () => { @@ -45,12 +46,6 @@ const FirmwareUpgradeModal = ({ show, toggleModal }) => { } return valid; }; - - const setDateToNow = () => { - const now = new Date().toString(); - setChosenDate(now); - }; - const setDateToLate = () => { const date = convertDateToUtc(new Date()); if (date.getHours() >= 3) { @@ -72,6 +67,10 @@ const FirmwareUpgradeModal = ({ show, toggleModal }) => { setCheckingIfSure(true); }; + const confirmingIfNow = () => { + setCheckingIfNow(true); + } + useEffect(() => { setHadSuccess(false); setHadFailure(false); @@ -81,6 +80,8 @@ const FirmwareUpgradeModal = ({ show, toggleModal }) => { setValidFirmware(true); setResponseBody(''); setCheckingIfSure(false); + setDoingNow(false); + setCheckingIfNow(false); }, [show]); useEffect(() => { @@ -88,7 +89,8 @@ const FirmwareUpgradeModal = ({ show, toggleModal }) => { setValidDate(true); }, [firmware, chosenDate]); - const postUpgrade = () => { + const postUpgrade = (isNow) => { + setDoingNow(isNow); setHadFailure(false); setHadSuccess(false); setWaiting(true); @@ -105,19 +107,22 @@ const FirmwareUpgradeModal = ({ show, toggleModal }) => { const parameters = { serialNumber: selectedDeviceId, - when: utcDateString, + when: isNow ? '' : utcDateString, uri: firmware, }; axiosInstance .post(`/device/${selectedDeviceId}/upgrade`, parameters, { headers }) - .then((response) => { - setResponseBody(JSON.stringify(response.data, null, 4)); + .then(() => { + setResponseBody('Command submitted successfully'); setHadSuccess(true); }) .catch(() => { + setResponseBody('Error while submitting command'); setHadFailure(true); }) .finally(() => { + setCheckingIfNow(false); + setDoingNow(false); setCheckingIfSure(false); setWaiting(false); }); @@ -132,9 +137,25 @@ const FirmwareUpgradeModal = ({ show, toggleModal }) => {