From 2ef8ef0c99b1585a80ec9d6355cf6f738fdfaad5 Mon Sep 17 00:00:00 2001
From: Vinicius Gabriel Machado <vgm18@inf.ufpr.br>
Date: Mon, 18 Oct 2021 13:52:10 -0300
Subject: [PATCH] Fixing admin appbar scroll button and button atualizar when
 on page 0

---
 src/Admin/Components/Components/AppBar.js        | 16 ++++++++++++++--
 src/Admin/Pages/Pages/SubPages/Activity.js       |  5 ++++-
 src/Admin/Pages/Pages/SubPages/AproveTeacher.js  |  5 ++++-
 src/Admin/Pages/Pages/SubPages/BlockedUsers.js   |  5 ++++-
 src/Admin/Pages/Pages/SubPages/Collections.js    |  5 ++++-
 .../Pages/Pages/SubPages/CommunityQuestions.js   |  5 ++++-
 src/Admin/Pages/Pages/SubPages/Complaints.js     |  5 ++++-
 .../Pages/Pages/SubPages/EducationalObjects.js   |  5 ++++-
 src/Admin/Pages/Pages/SubPages/Institutions.js   |  5 ++++-
 src/Admin/Pages/Pages/SubPages/Languages.js      |  5 ++++-
 src/Admin/Pages/Pages/SubPages/NoteVariables.js  |  5 ++++-
 src/Admin/Pages/Pages/SubPages/Permissions.js    |  5 ++++-
 src/Admin/Pages/Pages/SubPages/Questions.js      |  5 ++++-
 src/Admin/Pages/Pages/SubPages/Rating.js         |  5 ++++-
 src/Admin/Pages/Pages/SubPages/Users.js          |  5 ++++-
 15 files changed, 70 insertions(+), 16 deletions(-)

diff --git a/src/Admin/Components/Components/AppBar.js b/src/Admin/Components/Components/AppBar.js
index c93e8213..2531b3e2 100644
--- a/src/Admin/Components/Components/AppBar.js
+++ b/src/Admin/Components/Components/AppBar.js
@@ -49,7 +49,7 @@ export default function AppBarAdmin(props) {
 
     return (
         <StyledAppBar position="sticky" contrast={props.contrast}>
-            <Tabs
+            <StyledTabs
                 variant="scrollable"
                 scrollButtons="on"
                 value={value}
@@ -70,7 +70,7 @@ export default function AppBarAdmin(props) {
                         />
                     ))
                 }
-            </Tabs>
+            </StyledTabs>
         </StyledAppBar>
     )
 }
@@ -89,4 +89,16 @@ const StyledAppBar = styled(AppBar)`
     color: ${props => props.contrast === "" ? "#666" : "white"} !important;
     border-bottom: 1px solid ${props => props.contrast === "" ? "black" : "white"} !important;
     box-shadow: none !important;
+`
+
+const StyledTabs = styled(Tabs)`
+    /*workaround because scrollButtons = on does not work*/
+    .MuiTabScrollButton-root.Mui-disabled {
+        opacity: 1 !important;
+    }
+
+    .MuiButtonBase-root.Mui-disabled {
+        cursor: pointer !important;
+        pointer-events: auto !important;
+    }
 `
\ No newline at end of file
diff --git a/src/Admin/Pages/Pages/SubPages/Activity.js b/src/Admin/Pages/Pages/SubPages/Activity.js
index ec2c0bd9..c6259b38 100644
--- a/src/Admin/Pages/Pages/SubPages/Activity.js
+++ b/src/Admin/Pages/Pages/SubPages/Activity.js
@@ -72,6 +72,7 @@ const Activity = () => {
   const [showFilter, setShowFilter] = useState(false);
   const [option, setOption] = useState(); //labels of the text field 'to'
   const [currPage, setCurrPage] = useState(0)
+  const [forceUpdate, setForceUpdate] = useState(false)
 
   const [snackInfo, setSnackInfo] = useState({
     message: "",
@@ -151,7 +152,7 @@ const Activity = () => {
         setError(true)
       }
     )
-  }, [currPage, option])
+  }, [currPage, option, forceUpdate])
 
   useEffect(() => {
     setOption()
@@ -189,6 +190,7 @@ const Activity = () => {
               isLoading: false,
               func: () => {
                 setCurrPage(0)
+                setForceUpdate(!forceUpdate)
               },
               icon: <UpdateRoundedIcon />
             },
@@ -314,6 +316,7 @@ const Activity = () => {
               isLoading: false,
               func: () => {
                 setCurrPage(0)
+                setForceUpdate(!forceUpdate)
               },
               icon: <UpdateRoundedIcon />
             },
diff --git a/src/Admin/Pages/Pages/SubPages/AproveTeacher.js b/src/Admin/Pages/Pages/SubPages/AproveTeacher.js
index 338110a0..6b69fed2 100644
--- a/src/Admin/Pages/Pages/SubPages/AproveTeacher.js
+++ b/src/Admin/Pages/Pages/SubPages/AproveTeacher.js
@@ -89,6 +89,7 @@ const AproveTeacher = () => {
   const [nameValue, setNameValue] = useState("")
   const [email, setEmail] = useState("");
   const [emailValue, setEmailValue] = useState("")
+  const [forceUpdate, setForceUpdate] = useState(false)
 
   const [snackInfo, setSnackInfo] = useState({
     message: "",
@@ -327,7 +328,7 @@ const AproveTeacher = () => {
         setError(true)
       }
     )
-  }, [currPage, option, email, name, invertList])
+  }, [currPage, option, email, name, invertList, forceUpdate])
 
   useEffect(() => {
     setOption("requested")
@@ -367,6 +368,7 @@ const AproveTeacher = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
@@ -581,6 +583,7 @@ const AproveTeacher = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
diff --git a/src/Admin/Pages/Pages/SubPages/BlockedUsers.js b/src/Admin/Pages/Pages/SubPages/BlockedUsers.js
index 8ca50cff..9eac1d9a 100644
--- a/src/Admin/Pages/Pages/SubPages/BlockedUsers.js
+++ b/src/Admin/Pages/Pages/SubPages/BlockedUsers.js
@@ -69,6 +69,7 @@ const BlockedUsers = () => {
   const [isLoadingMoreItems, setIsLoadingMoreItems] = useState(false)
   const [stateOpt, setStateOpt] = useState(1)
   const [currPage, setCurrPage] = useState(0)
+  const [forceUpdate, setForceUpdate] = useState(false)
 
   const [snackInfo, setSnackInfo] = useState({
     message: '',
@@ -224,7 +225,7 @@ const BlockedUsers = () => {
         setError(true)
       }
     )
-  }, [currPage, stateOpt, invertList])
+  }, [currPage, stateOpt, invertList, forceUpdate])
 
   if (error) {
     return <div>Error: {error.message}</div>;
@@ -257,6 +258,7 @@ const BlockedUsers = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
@@ -397,6 +399,7 @@ const BlockedUsers = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
diff --git a/src/Admin/Pages/Pages/SubPages/Collections.js b/src/Admin/Pages/Pages/SubPages/Collections.js
index 8ecb15f1..f7ab54cc 100644
--- a/src/Admin/Pages/Pages/SubPages/Collections.js
+++ b/src/Admin/Pages/Pages/SubPages/Collections.js
@@ -110,6 +110,7 @@ const Collections = () => {
     const [deleteItem, setDeleteItem] = useState({}); //Delete Item
     const [isLoadingToDelete, setIsLoadingToDelete] = useState(null);
     const [option, setOption] = useState(); //labels of the text field 'to'
+    const [forceUpdate, setForceUpdate] = useState(false)
 
     const [snackInfo, setSnackInfo] = useState({
         message: "",
@@ -249,7 +250,7 @@ const Collections = () => {
                 setError(true)
             }
         )
-    }, [currPage, search, option])
+    }, [currPage, search, option, forceUpdate])
 
     useEffect(() => {
         setCurrPage(0)
@@ -304,6 +305,7 @@ const Collections = () => {
                                         isLoading: false,
                                         func: () => {
                                             setCurrPage(0)
+                                            setForceUpdate(!forceUpdate)
                                         },
                                         icon: <UpdateRoundedIcon />
                                     },
@@ -467,6 +469,7 @@ const Collections = () => {
                                     isLoading: false,
                                     func: () => {
                                         setCurrPage(0)
+                                        setForceUpdate(!forceUpdate)
                                     },
                                     icon: <UpdateRoundedIcon />
                                 },
diff --git a/src/Admin/Pages/Pages/SubPages/CommunityQuestions.js b/src/Admin/Pages/Pages/SubPages/CommunityQuestions.js
index b6bd621a..b6be7e21 100644
--- a/src/Admin/Pages/Pages/SubPages/CommunityQuestions.js
+++ b/src/Admin/Pages/Pages/SubPages/CommunityQuestions.js
@@ -81,6 +81,7 @@ const CommunityQuestion = () => {
   const [email, setEmail] = useState("");
   const [valueOfNameField, setValueOfNameField] = useState("")
   const [name, setName] = useState("");
+  const [forceUpdate, setForceUpdate] = useState(false)
 
   const [snackInfo, setSnackInfo] = useState({
     message: "",
@@ -180,7 +181,7 @@ const CommunityQuestion = () => {
         setError(true)
       }
     )
-  }, [currPage, message, email, name, invertList])
+  }, [currPage, message, email, name, invertList, forceUpdate])
 
   useEffect(() => {
     setCurrPage(0)
@@ -222,6 +223,7 @@ const CommunityQuestion = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
@@ -384,6 +386,7 @@ const CommunityQuestion = () => {
               isLoading: false,
               func: () => {
                 setCurrPage(0)
+                setForceUpdate(!forceUpdate)
               },
               icon: <UpdateRoundedIcon />
             },
diff --git a/src/Admin/Pages/Pages/SubPages/Complaints.js b/src/Admin/Pages/Pages/SubPages/Complaints.js
index 64c46939..0da9bdf1 100644
--- a/src/Admin/Pages/Pages/SubPages/Complaints.js
+++ b/src/Admin/Pages/Pages/SubPages/Complaints.js
@@ -82,6 +82,7 @@ const Complaints = () => {
   const [description, setDescription] = useState("");
   const [valueOfDescField, setValueOfDescField] = useState("")
   const [currPage, setCurrPage] = useState(0)
+  const [forceUpdate, setForceUpdate] = useState(false)
 
   const [snackInfo, setSnackInfo] = useState({
     message: "",
@@ -259,7 +260,7 @@ const Complaints = () => {
         setError(true)
       }
     )
-  }, [currPage, complainOption, stateOption, description, invertList])
+  }, [currPage, complainOption, stateOption, description, invertList, forceUpdate])
 
   useEffect(() => {
     setComplainOption()
@@ -299,6 +300,7 @@ const Complaints = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
@@ -476,6 +478,7 @@ const Complaints = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
diff --git a/src/Admin/Pages/Pages/SubPages/EducationalObjects.js b/src/Admin/Pages/Pages/SubPages/EducationalObjects.js
index 3d720067..64a49388 100644
--- a/src/Admin/Pages/Pages/SubPages/EducationalObjects.js
+++ b/src/Admin/Pages/Pages/SubPages/EducationalObjects.js
@@ -71,6 +71,7 @@ const EducationalObjects = () => {
   const [isLoadingMoreItems, setIsLoadingMoreItems] = useState(false);
   const [showFilter, setShowFilter] = useState(false)
   const [openAlertDialog, setOpenAlertDialog] = useState(false);
+  const [forceUpdate, setForceUpdate] = useState(false)
 
   const [snackInfo, setSnackInfo] = useState({
     message: "",
@@ -225,7 +226,7 @@ const EducationalObjects = () => {
         setError(true)
       }
     )
-  }, [currPage, search, description, author])
+  }, [currPage, search, description, author, forceUpdate])
 
   useEffect(() => {
     setCurrPage(0)
@@ -314,6 +315,7 @@ const EducationalObjects = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
@@ -457,6 +459,7 @@ const EducationalObjects = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
diff --git a/src/Admin/Pages/Pages/SubPages/Institutions.js b/src/Admin/Pages/Pages/SubPages/Institutions.js
index 78984734..4fa613c5 100644
--- a/src/Admin/Pages/Pages/SubPages/Institutions.js
+++ b/src/Admin/Pages/Pages/SubPages/Institutions.js
@@ -72,6 +72,7 @@ const Institutions = () => {
   const [deleteItem, setDeleteItem] = useState({}); //Delete Item
   const [isLoadingToDelete, setIsLoadingToDelete] = useState(null);
   const [isLoadingMoreItems, setIsLoadingMoreItems] = useState(false);
+  const [forceUpdate, setForceUpdate] = useState(false)
 
   const [openAlertDialog, setOpenAlertDialog] = useState(false);
 
@@ -216,7 +217,7 @@ const Institutions = () => {
         setError(true)
       }
     )
-  }, [currPage, description, country, search, city, invertList])
+  }, [currPage, description, country, search, city, invertList, forceUpdate])
 
   useEffect(() => {
     setSeacrh("")
@@ -315,6 +316,7 @@ const Institutions = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
@@ -467,6 +469,7 @@ const Institutions = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
diff --git a/src/Admin/Pages/Pages/SubPages/Languages.js b/src/Admin/Pages/Pages/SubPages/Languages.js
index 02192640..55dca43d 100644
--- a/src/Admin/Pages/Pages/SubPages/Languages.js
+++ b/src/Admin/Pages/Pages/SubPages/Languages.js
@@ -69,6 +69,7 @@ const Languages = () => {
 
   const [deleteItem, setDeleteItem] = useState({}); //Delete Item
   const [isLoadingToDelete, setIsLoadingToDelete] = useState(null);
+  const [forceUpdate, setForceUpdate] = useState(false)
 
   const [snackInfo, setSnackInfo] = useState({
     message: '',
@@ -181,7 +182,7 @@ const Languages = () => {
         setError(true)
       }
     )
-  }, [currPage, invertList])
+  }, [currPage, invertList, forceUpdate])
 
   if (error) {
     return <div>Error: {error.message}</div>;
@@ -220,6 +221,7 @@ const Languages = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
@@ -322,6 +324,7 @@ const Languages = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
diff --git a/src/Admin/Pages/Pages/SubPages/NoteVariables.js b/src/Admin/Pages/Pages/SubPages/NoteVariables.js
index 520f826e..865a2901 100644
--- a/src/Admin/Pages/Pages/SubPages/NoteVariables.js
+++ b/src/Admin/Pages/Pages/SubPages/NoteVariables.js
@@ -60,6 +60,7 @@ const NoteVariables = () => {
   const [currPage, setCurrPage] = useState(0)
   const [items, setItems] = useState([]); //Necessary to consult the API, data
   const [isLoadingMoreItems, setIsLoadingMoreItems] = useState(false)
+  const [forceUpdate, setForceUpdate] = useState(false)
 
   const [snackInfo, setSnackInfo] = useState({
     message: '',
@@ -116,7 +117,7 @@ const NoteVariables = () => {
         setError(true)
       }
     )
-  }, [currPage, invertList])
+  }, [currPage, invertList, forceUpdate])
 
   if (error) {
     return <div>Error: {error.message}</div>;
@@ -150,6 +151,7 @@ const NoteVariables = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
@@ -245,6 +247,7 @@ const NoteVariables = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
diff --git a/src/Admin/Pages/Pages/SubPages/Permissions.js b/src/Admin/Pages/Pages/SubPages/Permissions.js
index b6a3d9ad..0623ea00 100644
--- a/src/Admin/Pages/Pages/SubPages/Permissions.js
+++ b/src/Admin/Pages/Pages/SubPages/Permissions.js
@@ -68,6 +68,7 @@ const UserPermissions = () => {
 
   const [deleteItem, setDeleteItem] = useState({}); //Delete Item
   const [isLoadingToDelete, setIsLoadingToDelete] = useState(null);
+  const [forceUpdate, setForceUpdate] = useState(false)
 
   const [snackInfo, setSnackInfo] = useState({
     message: '',
@@ -178,7 +179,7 @@ const UserPermissions = () => {
         setError(true)
       }
     )
-  }, [currPage, invertList])
+  }, [currPage, invertList, forceUpdate])
 
   if (error) {
     return <div>Error: {error.message}</div>;
@@ -217,6 +218,7 @@ const UserPermissions = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
@@ -325,6 +327,7 @@ const UserPermissions = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
diff --git a/src/Admin/Pages/Pages/SubPages/Questions.js b/src/Admin/Pages/Pages/SubPages/Questions.js
index 7a9f110f..706a93cc 100644
--- a/src/Admin/Pages/Pages/SubPages/Questions.js
+++ b/src/Admin/Pages/Pages/SubPages/Questions.js
@@ -60,6 +60,7 @@ const Questions = () => {
   const [items, setItems] = useState([]); //Necessary to consult the API, data 
   const [currPage, setCurrPage] = useState(0)
   const [isLoadingMoreItems, setIsLoadingMoreItems] = useState(false) //controlls the state of loadind more data
+  const [forceUpdate, setForceUpdate] = useState(false)
 
   const [snackInfo, setSnackInfo] = useState({
     message: '',
@@ -181,7 +182,7 @@ const Questions = () => {
         setError(true)
       }
     )
-  }, [currPage, invertList])
+  }, [currPage, invertList, forceUpdate])
 
 
   if (error) {
@@ -213,6 +214,7 @@ const Questions = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
@@ -318,6 +320,7 @@ const Questions = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
diff --git a/src/Admin/Pages/Pages/SubPages/Rating.js b/src/Admin/Pages/Pages/SubPages/Rating.js
index 00a667d9..92742617 100644
--- a/src/Admin/Pages/Pages/SubPages/Rating.js
+++ b/src/Admin/Pages/Pages/SubPages/Rating.js
@@ -68,6 +68,7 @@ const Ratings = () => {
   const [openAlertDialog, setOpenAlertDialog] = useState(false); //controlls the state od alert dialog 
   const [deleteItem, setDeleteItem] = useState({}); //Delete Item
   const [isLoadingToDelete, setIsLoadingToDelete] = useState(null);
+  const [forceUpdate, setForceUpdate] = useState(false)
 
   const [snackInfo, setSnackInfo] = useState({
     message: '',
@@ -178,7 +179,7 @@ const Ratings = () => {
         setError(true)
       }
     )
-  }, [currPage, invertList])
+  }, [currPage, invertList, forceUpdate])
 
   if (error) {
     return <div>Error: {error.message}</div>;
@@ -220,6 +221,7 @@ const Ratings = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
@@ -321,6 +323,7 @@ const Ratings = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
diff --git a/src/Admin/Pages/Pages/SubPages/Users.js b/src/Admin/Pages/Pages/SubPages/Users.js
index d426d97c..55d5b5c9 100644
--- a/src/Admin/Pages/Pages/SubPages/Users.js
+++ b/src/Admin/Pages/Pages/SubPages/Users.js
@@ -71,6 +71,7 @@ const Users = () => {
   const [isLoadingMoreItems, setIsLoadingMoreItems] = useState(false)
   const [showFilter, setShowFilter] = useState(false)
   const [currPage, setCurrPage] = useState(0)
+  const [forceUpdate, setForceUpdate] = useState(false)
 
   const [name, setName] = useState("");
   const [nameValue, setNameValue] = useState("")
@@ -215,7 +216,7 @@ const Users = () => {
         setIsLoadingMoreItems(false)
       }
     )
-  }, [currPage, email, name, invertList])
+  }, [currPage, email, name, invertList, forceUpdate])
 
   useEffect(() => {
     setNameValue("")
@@ -255,6 +256,7 @@ const Users = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
@@ -433,6 +435,7 @@ const Users = () => {
                 isLoading: false,
                 func: () => {
                   setCurrPage(0)
+                  setForceUpdate(!forceUpdate)
                 },
                 icon: <UpdateRoundedIcon />
               },
-- 
GitLab