diff --git a/portal-ui/src/screens/Console/Account/ChangePasswordModal.tsx b/portal-ui/src/screens/Console/Account/ChangePasswordModal.tsx index 56a7a4194..1f67fe988 100644 --- a/portal-ui/src/screens/Console/Account/ChangePasswordModal.tsx +++ b/portal-ui/src/screens/Console/Account/ChangePasswordModal.tsx @@ -62,7 +62,7 @@ const ChangePassword = ({ const changePassword = (event: React.FormEvent) => { event.preventDefault(); - if (newPassword != reNewPassword) { + if (newPassword !== reNewPassword) { setError("New passwords don't match"); return; } diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx index 8d8d6a730..c5ffb9b4f 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx @@ -256,7 +256,7 @@ const ListObjects = ({ xhr.open("POST", uploadUrl, true); xhr.withCredentials = false; - xhr.onload = function(event) { + xhr.onload = function (event) { // TODO: handle status if (xhr.status === 401 || xhr.status === 403) { showSnackBarMessage("An error occurred while uploading the file."); diff --git a/portal-ui/src/screens/Console/Buckets/ViewBucket/ViewBucket.tsx b/portal-ui/src/screens/Console/Buckets/ViewBucket/ViewBucket.tsx index 4d331f1a8..effd2028c 100644 --- a/portal-ui/src/screens/Console/Buckets/ViewBucket/ViewBucket.tsx +++ b/portal-ui/src/screens/Console/Buckets/ViewBucket/ViewBucket.tsx @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import React, { useEffect, useState } from "react"; +import React, { useCallback, useEffect, useState } from "react"; import get from "lodash/get"; import { createStyles, Theme, withStyles } from "@material-ui/core/styles"; import Paper from "@material-ui/core/Paper"; @@ -211,7 +211,6 @@ const ViewBucket = ({ classes, match }: IViewBucketProps) => { const [loadingEvents, setLoadingEvents] = useState(true); const [loadingSize, setLoadingSize] = useState(true); const [error, setError] = useState(""); - const [deleteError, setDeleteError] = useState(""); const [errBucket, setErrBucket] = useState(""); const [accessPolicyScreenOpen, setAccessPolicyScreenOpen] = useState( false @@ -223,11 +222,9 @@ const ViewBucket = ({ classes, match }: IViewBucketProps) => { setEnableEncryptionScreenOpen, ] = useState(false); const [deleteOpen, setDeleteOpen] = useState(false); - const [selectedBucket, setSelectedBucket] = useState(""); const [selectedEvent, setSelectedEvent] = useState(null); const [bucketSize, setBucketSize] = useState("0"); const [errorSize, setErrorSize] = useState(""); - const [replicationSet, setReplicationSet] = useState(false); const [openSetReplication, setOpenSetReplication] = useState(false); const [isVersioned, setIsVersioned] = useState(false); const [encryptionEnabled, setEncryptionEnabled] = useState(false); @@ -268,7 +265,7 @@ const ViewBucket = ({ classes, match }: IViewBucketProps) => { }); }; - const fetchBucketsSize = () => { + const fetchBucketsSize = useCallback(() => { const bucketName = match.params["bucketName"]; setLoadingSize(true); api @@ -290,9 +287,9 @@ const ViewBucket = ({ classes, match }: IViewBucketProps) => { setLoadingSize(false); setErrorSize(err); }); - }; + }, []); - const loadInfo = () => { + const loadInfo = useCallback(() => { const bucketName = match.params["bucketName"]; setLoadingBucket(true); @@ -306,7 +303,7 @@ const ViewBucket = ({ classes, match }: IViewBucketProps) => { setLoadingBucket(false); setErrBucket(err); }); - }; + }, [match]); const fetchBucketEncryptionInfo = () => { const bucketName = match.params["bucketName"]; @@ -339,7 +336,7 @@ const ViewBucket = ({ classes, match }: IViewBucketProps) => { fetchEvents(); fetchBucketsSize(); fetchBucketEncryptionInfo(); - }, []); + }, [loadInfo]); const bucketName = match.params["bucketName"]; @@ -437,6 +434,11 @@ const ViewBucket = ({ classes, match }: IViewBucketProps) => { )} ${match.params["bucketName"]}`} /> + {error !== "" && ( + + {error} + + )}
diff --git a/portal-ui/src/screens/Console/Console.tsx b/portal-ui/src/screens/Console/Console.tsx index ca47ebf09..5c5660394 100644 --- a/portal-ui/src/screens/Console/Console.tsx +++ b/portal-ui/src/screens/Console/Console.tsx @@ -236,10 +236,6 @@ const Console = ({ component: ConfigurationsList, path: "/configurations-list", }, - { - component: Permissions, - path: "/permissions", - }, { component: Account, path: "/account", @@ -294,20 +290,20 @@ const Console = ({ ) : ( - - The instance needs to be restarted for configuration changes + + The instance needs to be restarted for configuration changes to take effect.{" "} - - - )} + + )}
)} diff --git a/portal-ui/src/screens/Console/Users/Users.tsx b/portal-ui/src/screens/Console/Users/Users.tsx index f275a18f1..4cf5ec5a6 100644 --- a/portal-ui/src/screens/Console/Users/Users.tsx +++ b/portal-ui/src/screens/Console/Users/Users.tsx @@ -97,7 +97,6 @@ const Users = ({ classes }: IUsersProps) => { const [records, setRecords] = useState([]); const [loading, setLoading] = useState(false); const [error, setError] = useState(""); - const [deleteError, setDeleteError] = useState(""); const [addScreenOpen, setAddScreenOpen] = useState(false); const [deleteOpen, setDeleteOpen] = useState(false); const [selectedUser, setSelectedUser] = useState(null); @@ -233,6 +232,11 @@ const Users = ({ classes }: IUsersProps) => { )} + {error !== "" && ( + + {error} + + )}