diff --git a/src/widgets/BlinkModalWidget.js b/src/widgets/BlinkModalWidget.js index d02d698..82684d2 100644 --- a/src/widgets/BlinkModalWidget.js +++ b/src/widgets/BlinkModalWidget.js @@ -24,6 +24,7 @@ import axiosInstance from '../utils/axiosInstance'; const BlinkModalWidget = ({show, toggleModal}) => { const [hadSuccess, setHadSuccess] = useState(false); const [hadFailure, setHadFailure] = useState(false); + const [doingNow, setDoingNow] = useState(false); const [waiting, setWaiting] = useState(false); const [chosenDate, setChosenDate] = useState(new Date().toString()); const [chosenPattern, setPattern] = useState('on'); @@ -31,11 +32,6 @@ const BlinkModalWidget = ({show, toggleModal}) => { const [checkingIfSure, setCheckingIfSure] = useState(false); const selectedDeviceId = useSelector((state) => state.selectedDeviceId); - const setDateToNow = () => { - const now = new Date().toString(); - setChosenDate(now); - }; - const setDateToLate = () => { const date = convertDateToUtc(new Date()); if (date.getHours() >= 3) { @@ -67,7 +63,8 @@ const BlinkModalWidget = ({show, toggleModal}) => { setCheckingIfSure(false); }, [show]); - const doAction = () => { + const doAction = (isNow) => { + setDoingNow(isNow); setHadFailure(false); setHadSuccess(false); setWaiting(true); @@ -78,7 +75,7 @@ const BlinkModalWidget = ({show, toggleModal}) => { const parameters = { serialNumber: selectedDeviceId, - when: utcDateString, + when: isNow ? 0 : utcDateString, pattern: chosenPattern, duration: 30 }; @@ -112,8 +109,14 @@ const BlinkModalWidget = ({show, toggleModal}) => {
When would you like make the LEDs of this device blink?
- setDateToNow()}> - Now + doAction(true)} + disabled={waiting} + block + color="primary" + > + {waiting && doingNow ? 'Loading...' : 'Do Now!'} + @@ -169,6 +172,7 @@ const BlinkModalWidget = ({show, toggleModal}) => { Cancel