From a52eff9fb2de87cd7a44cdaf19f871bee6d6dbb9 Mon Sep 17 00:00:00 2001
From: Pablo Roncero Fernandez <pablo.roncero.fernandez@cern.ch>
Date: Thu, 3 Dec 2020 12:36:33 +0100
Subject: [PATCH] Fix double click bug

---
 src/components/preferences/AddPreference.js | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/components/preferences/AddPreference.js b/src/components/preferences/AddPreference.js
index 02a0fee2..30c8015b 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 {
-- 
GitLab