diff --git a/src/components/preferences/AddPreference.js b/src/components/preferences/AddPreference.js index 02a0fee2d62b94ef98addd9db8b0c9848321a06a..30c8015b00b8d8269723244fca404d9dfb3869d2 100644 --- a/src/components/preferences/AddPreference.js +++ b/src/components/preferences/AddPreference.js @@ -28,6 +28,7 @@ const AddPreference = ({createPreference, showSnackbar, global}) => { const {channelId} = useParams(); const [channelIdInput, setChannelIdInput] = useState(global ? '' : channelId || ''); const [preferenceName, setPreferenceName] = useState(''); + const [submitButtonDisabled, setSubmitButtonDisabled] = useState(false); const [notificationPriority, setNotificationPriority] = useState({ important: false, normal: false, @@ -206,7 +207,9 @@ const AddPreference = ({createPreference, showSnackbar, global}) => { /> </Form.Group> <Form.Button + disabled={submitButtonDisabled} onClick={() => { + setSubmitButtonDisabled(true); createPreference({ name: preferenceName, target: channelIdInput, @@ -217,6 +220,7 @@ const AddPreference = ({createPreference, showSnackbar, global}) => { rangeStart: `${startTime.hour}:${startTime.minutes}`, rangeEnd: `${endTime.hour}:${endTime.minutes}`, }).then(({error}) => { + setSubmitButtonDisabled(false); if (error) { showSnackbar('An error occurred while adding your preference', 'error'); } else {