diff --git a/portal-ui/src/ProtectedRoutes.tsx b/portal-ui/src/ProtectedRoutes.tsx
index 240c781fb..fb3895055 100644
--- a/portal-ui/src/ProtectedRoutes.tsx
+++ b/portal-ui/src/ProtectedRoutes.tsx
@@ -22,7 +22,7 @@ import useApi from "./screens/Console/Common/Hooks/useApi";
import { ErrorResponseHandler } from "./common/types";
import { ReplicationSite } from "./screens/Console/Configurations/SiteReplication/SiteReplication";
import { baseUrl } from "./history";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import {
globalSetDistributedSetup,
operatorMode,
@@ -31,7 +31,7 @@ import {
userLogged,
} from "./systemSlice";
import { SRInfoStateType } from "./types";
-import { AppState } from "./store";
+import { AppState, useAppDispatch } from "./store";
import { saveSessionResponse } from "./screens/Console/consoleSlice";
interface ProtectedRouteProps {
@@ -39,7 +39,7 @@ interface ProtectedRouteProps {
}
const ProtectedRoute = ({ Component }: ProtectedRouteProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const isOperatorMode = useSelector(selOpMode);
diff --git a/portal-ui/src/screens/Console/Account/Account.tsx b/portal-ui/src/screens/Console/Account/Account.tsx
index 6da2f3b75..4c00c15be 100644
--- a/portal-ui/src/screens/Console/Account/Account.tsx
+++ b/portal-ui/src/screens/Console/Account/Account.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { Fragment, useEffect, useState } from "react";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import { useNavigate } from "react-router-dom";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -58,6 +58,7 @@ import ServiceAccountPolicy from "./ServiceAccountPolicy";
import { setErrorSnackMessage, setSnackBarMessage } from "../../../systemSlice";
import makeStyles from "@mui/styles/makeStyles";
import { selFeatures } from "../consoleSlice";
+import { useAppDispatch } from "../../../store";
const DeleteServiceAccount = withSuspense(
React.lazy(() => import("./DeleteServiceAccount"))
@@ -78,7 +79,7 @@ const useStyles = makeStyles((theme: Theme) =>
);
const Account = () => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const navigate = useNavigate();
const classes = useStyles();
diff --git a/portal-ui/src/screens/Console/Account/AddServiceAccountScreen.tsx b/portal-ui/src/screens/Console/Account/AddServiceAccountScreen.tsx
index 49a8f12af..5c257e5e5 100644
--- a/portal-ui/src/screens/Console/Account/AddServiceAccountScreen.tsx
+++ b/portal-ui/src/screens/Console/Account/AddServiceAccountScreen.tsx
@@ -48,8 +48,9 @@ import CredentialsPrompt from "../Common/CredentialsPrompt/CredentialsPrompt";
import SectionTitle from "../Common/SectionTitle";
import { getRandomString } from "../../../screens/Console/Tenants/utils";
import PanelTitle from "../Common/PanelTitle/PanelTitle";
-import { useDispatch } from "react-redux";
+
import { setErrorSnackMessage } from "../../../systemSlice";
+import { useAppDispatch } from "../../../store";
interface IAddServiceAccountProps {
classes: any;
@@ -75,7 +76,7 @@ const styles = (theme: Theme) =>
});
const AddServiceAccount = ({ classes }: IAddServiceAccountProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const navigate = useNavigate();
const [addSending, setAddSending] = useState(false);
diff --git a/portal-ui/src/screens/Console/Account/ChangePasswordModal.tsx b/portal-ui/src/screens/Console/Account/ChangePasswordModal.tsx
index f99446b92..8359f751e 100644
--- a/portal-ui/src/screens/Console/Account/ChangePasswordModal.tsx
+++ b/portal-ui/src/screens/Console/Account/ChangePasswordModal.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { useState } from "react";
-import { useDispatch } from "react-redux";
+
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -36,6 +36,7 @@ import { ChangePasswordIcon } from "../../../icons";
import RemoveRedEyeIcon from "@mui/icons-material/RemoveRedEye";
import VisibilityOffIcon from "@mui/icons-material/VisibilityOff";
import { setModalErrorSnackMessage } from "../../../systemSlice";
+import { useAppDispatch } from "../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -56,7 +57,7 @@ const ChangePassword = ({
open,
closeModal,
}: IChangePasswordProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [currentPassword, setCurrentPassword] = useState("");
const [newPassword, setNewPassword] = useState("");
const [reNewPassword, setReNewPassword] = useState("");
diff --git a/portal-ui/src/screens/Console/Account/ChangeUserPasswordModal.tsx b/portal-ui/src/screens/Console/Account/ChangeUserPasswordModal.tsx
index 764c6011b..df22b4abd 100644
--- a/portal-ui/src/screens/Console/Account/ChangeUserPasswordModal.tsx
+++ b/portal-ui/src/screens/Console/Account/ChangeUserPasswordModal.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { useState } from "react";
-import { useDispatch } from "react-redux";
+
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -35,6 +35,7 @@ import { ErrorResponseHandler } from "../../../common/types";
import api from "../../../common/api";
import { ChangePasswordIcon } from "../../../icons";
import { setModalErrorSnackMessage } from "../../../systemSlice";
+import { useAppDispatch } from "../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -60,7 +61,7 @@ const ChangeUserPassword = ({
userName,
closeModal,
}: IChangeUserPasswordProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [newPassword, setNewPassword] = useState("");
const [reNewPassword, setReNewPassword] = useState("");
const [loading, setLoading] = useState(false);
diff --git a/portal-ui/src/screens/Console/Account/DeleteServiceAccount.tsx b/portal-ui/src/screens/Console/Account/DeleteServiceAccount.tsx
index e50e00d57..f260ef449 100644
--- a/portal-ui/src/screens/Console/Account/DeleteServiceAccount.tsx
+++ b/portal-ui/src/screens/Console/Account/DeleteServiceAccount.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React from "react";
-import { useDispatch } from "react-redux";
+
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -27,6 +27,7 @@ import ConfirmDialog from "../Common/ModalWrapper/ConfirmDialog";
import { ConfirmDeleteIcon } from "../../../icons";
import { encodeURLString } from "../../../common/utils";
import { setErrorSnackMessage } from "../../../systemSlice";
+import { useAppDispatch } from "../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -50,7 +51,7 @@ const DeleteServiceAccount = ({
deleteOpen,
selectedServiceAccount,
}: IDeleteServiceAccountProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const onDelSuccess = () => closeDeleteModalAndRefresh(true);
const onDelError = (err: ErrorResponseHandler) =>
dispatch(setErrorSnackMessage(err));
diff --git a/portal-ui/src/screens/Console/Account/ServiceAccountPolicy.tsx b/portal-ui/src/screens/Console/Account/ServiceAccountPolicy.tsx
index c34cf2b2d..21657194d 100644
--- a/portal-ui/src/screens/Console/Account/ServiceAccountPolicy.tsx
+++ b/portal-ui/src/screens/Console/Account/ServiceAccountPolicy.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { useEffect, useState } from "react";
-import { useDispatch } from "react-redux";
+
import { Button } from "@mui/material";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -34,6 +34,7 @@ import { ChangeAccessPolicyIcon } from "../../../icons";
import CodeMirrorWrapper from "../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper";
import { encodeURLString } from "../../../common/utils";
import { setModalErrorSnackMessage } from "../../../systemSlice";
+import { useAppDispatch } from "../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -68,7 +69,7 @@ const ServiceAccountPolicy = ({
selectedAccessKey,
closeModalAndRefresh,
}: IServiceAccountPolicyProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [loading, setLoading] = useState(true);
const [policyDefinition, setPolicyDefinition] = useState("");
useEffect(() => {
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/AccessDetailsPanel.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/AccessDetailsPanel.tsx
index d4d456f8c..30034c12e 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/AccessDetailsPanel.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/AccessDetailsPanel.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { Fragment, useEffect, useState } from "react";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import { useNavigate, useParams } from "react-router-dom";
import { Paper } from "@mui/material";
import Tabs from "@mui/material/Tabs";
@@ -40,6 +40,7 @@ import {
import { encodeURLString } from "../../../../common/utils";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { selBucketDetailsLoading } from "./bucketDetailsSlice";
+import { useAppDispatch } from "../../../../store";
function a11yProps(index: any) {
return {
@@ -49,7 +50,7 @@ function a11yProps(index: any) {
}
const AccessDetails = () => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const navigate = useNavigate();
const params = useParams();
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/AccessRulePanel.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/AccessRulePanel.tsx
index e8a052221..3914e4bbb 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/AccessRulePanel.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/AccessRulePanel.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { Fragment, useEffect, useState } from "react";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import { useParams } from "react-router-dom";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -45,6 +45,7 @@ import RBIconButton from "./SummaryItems/RBIconButton";
import { setErrorSnackMessage } from "../../../../systemSlice";
import makeStyles from "@mui/styles/makeStyles";
import { selBucketDetailsLoading } from "./bucketDetailsSlice";
+import { useAppDispatch } from "../../../../store";
const AddAccessRuleModal = withSuspense(
React.lazy(() => import("./AddAccessRule"))
@@ -75,7 +76,7 @@ const useStyles = makeStyles((theme: Theme) =>
);
const AccessRule = () => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const classes = useStyles();
const params = useParams();
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddAccessRule.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddAccessRule.tsx
index 48168a65b..035960130 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddAccessRule.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddAccessRule.tsx
@@ -25,12 +25,13 @@ import {
formFieldStyles,
modalStyleUtils,
} from "../../Common/FormComponents/common/styleLibrary";
-import { useDispatch } from "react-redux";
+
import api from "../../../../common/api";
import { ErrorResponseHandler } from "../../../../common/types";
import SelectWrapper from "../../Common/FormComponents/SelectWrapper/SelectWrapper";
import { AddAccessRuleIcon } from "../../../../icons";
import { setErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
interface IAddAccessRule {
classes: any;
@@ -51,7 +52,7 @@ const AddAccessRule = ({
classes,
bucket,
}: IAddAccessRule) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [prefix, setPrefix] = useState("");
const [selectedAccess, setSelectedAccess] = useState("readonly");
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx
index 70a5d9574..90ba4b904 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { useState } from "react";
-import { useDispatch } from "react-redux";
+
import { Button, Grid } from "@mui/material";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -31,6 +31,7 @@ import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper";
import api from "../../../../common/api";
import { AddNewTagIcon } from "../../../../icons";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
interface IBucketTagModal {
modalOpen: boolean;
@@ -56,7 +57,7 @@ const AddBucketTagModal = ({
classes,
}: IBucketTagModal) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [newKey, setNewKey] = useState("");
const [newLabel, setNewLabel] = useState("");
const [isSending, setIsSending] = useState(false);
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddEvent.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddEvent.tsx
index 691b0068f..52bdf7b4d 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddEvent.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddEvent.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { ChangeEvent, useCallback, useEffect, useState } from "react";
-import { useDispatch } from "react-redux";
+
import Grid from "@mui/material/Grid";
import { Button } from "@mui/material";
import { Theme } from "@mui/material/styles";
@@ -40,6 +40,7 @@ import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBo
import AutocompleteWrapper from "../../Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper";
import { EventSubscriptionIcon } from "../../../../icons";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -65,7 +66,7 @@ const AddEvent = ({
selectedBucket,
closeModalAndRefresh,
}: IAddEventProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [addLoading, setAddLoading] = useState(false);
const [prefix, setPrefix] = useState("");
const [suffix, setSuffix] = useState("");
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddLifecycleModal.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddLifecycleModal.tsx
index c86ffcb23..6b366fc23 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddLifecycleModal.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddLifecycleModal.tsx
@@ -16,7 +16,7 @@
import React, { Fragment, useEffect, useState } from "react";
import get from "lodash/get";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -53,6 +53,7 @@ import InputUnitMenu from "../../Common/FormComponents/InputUnitMenu/InputUnitMe
import { BucketVersioning } from "../types";
import FormSwitchWrapper from "../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper";
import { selDistSet, setModalErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
interface IReplicationModal {
open: boolean;
@@ -98,7 +99,7 @@ const AddLifecycleModal = ({
classes,
bucketName,
}: IReplicationModal) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const distributedSetup = useSelector(selDistSet);
const [loadingTiers, setLoadingTiers] = useState(true);
const [tiersList, setTiersList] = useState([]);
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddReplicationModal.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddReplicationModal.tsx
index b29eef4d8..83724879f 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddReplicationModal.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddReplicationModal.tsx
@@ -39,8 +39,9 @@ import { getBytes, k8sScalarUnitsExcluding } from "../../../../common/utils";
import QueryMultiSelector from "../../Common/FormComponents/QueryMultiSelector/QueryMultiSelector";
import { BucketReplicationIcon } from "../../../../icons";
import InputUnitMenu from "../../Common/FormComponents/InputUnitMenu/InputUnitMenu";
-import { useDispatch } from "react-redux";
+
import { setModalErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
interface IReplicationModal {
open: boolean;
@@ -86,7 +87,7 @@ const AddReplicationModal = ({
setReplicationRules,
}: IReplicationModal) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [addLoading, setAddLoading] = useState(false);
const [priority, setPriority] = useState("1");
const [accessKey, setAccessKey] = useState("");
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/BrowserHandler.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/BrowserHandler.tsx
index d03819e07..1cbb18c53 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/BrowserHandler.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/BrowserHandler.tsx
@@ -15,14 +15,14 @@
// along with this program. If not, see .
import React, { Fragment, useEffect } from "react";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import { useNavigate, useParams } from "react-router-dom";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
import { Grid, IconButton, Tooltip } from "@mui/material";
import get from "lodash/get";
-import { AppState } from "../../../../store";
+import { AppState, useAppDispatch } from "../../../../store";
import { containerForHeader } from "../../Common/FormComponents/common/styleLibrary";
import ListObjects from "../ListBuckets/Objects/ListObjects/ListObjects";
@@ -50,7 +50,7 @@ const styles = (theme: Theme) =>
});
const BrowserHandler = () => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const navigate = useNavigate();
const params = useParams();
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketDetails.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketDetails.tsx
index c1e8a7598..63cf881cd 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketDetails.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketDetails.tsx
@@ -23,7 +23,7 @@ import {
useNavigate,
useParams,
} from "react-router-dom";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -67,6 +67,7 @@ import {
setBucketDetailsLoad,
setBucketInfo,
} from "./bucketDetailsSlice";
+import { useAppDispatch } from "../../../../store";
const BucketsIcon = React.lazy(() => import("../../../../icons/BucketsIcon"));
const FolderIcon = React.lazy(() => import("../../../../icons/FolderIcon"));
@@ -117,7 +118,7 @@ interface IBucketDetailsProps {
}
const BucketDetails = ({ classes }: IBucketDetailsProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const navigate = useNavigate();
const params = useParams();
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx
index 6c8acc746..bab477377 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { Fragment, useEffect, useState } from "react";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import { useParams } from "react-router-dom";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -45,6 +45,7 @@ import withSuspense from "../../Common/Components/withSuspense";
import RBIconButton from "./SummaryItems/RBIconButton";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { selBucketDetailsLoading } from "./bucketDetailsSlice";
+import { useAppDispatch } from "../../../../store";
const DeleteEvent = withSuspense(React.lazy(() => import("./DeleteEvent")));
const AddEvent = withSuspense(React.lazy(() => import("./AddEvent")));
@@ -63,7 +64,7 @@ interface IBucketEventsProps {
}
const BucketEventsPanel = ({ classes }: IBucketEventsProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const params = useParams();
const loadingBucket = useSelector(selBucketDetailsLoading);
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketReplicationPanel.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketReplicationPanel.tsx
index 7f4f82b4e..5b63eea0f 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketReplicationPanel.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketReplicationPanel.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { Fragment, useEffect, useState } from "react";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -47,6 +47,7 @@ import EditReplicationModal from "./EditReplicationModal";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { selBucketDetailsLoading } from "./bucketDetailsSlice";
import { useParams } from "react-router-dom";
+import { useAppDispatch } from "../../../../store";
const AddReplicationModal = withSuspense(
React.lazy(() => import("./AddReplicationModal"))
@@ -69,7 +70,7 @@ const styles = (theme: Theme) =>
});
const BucketReplicationPanel = ({ classes }: IBucketReplicationProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const params = useParams();
const loadingBucket = useSelector(selBucketDetailsLoading);
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx
index dbbe7234b..1aaa19c2e 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { Fragment, useEffect, useState } from "react";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import { useParams } from "react-router-dom";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -60,6 +60,7 @@ import {
selBucketDetailsLoading,
setBucketDetailsLoad,
} from "./bucketDetailsSlice";
+import { useAppDispatch } from "../../../../store";
const SetAccessPolicy = withSuspense(
React.lazy(() => import("./SetAccessPolicy"))
@@ -97,7 +98,7 @@ interface IBucketSummaryProps {
}
const BucketSummary = ({ classes }: IBucketSummaryProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const params = useParams();
const loadingBucket = useSelector(selBucketDetailsLoading);
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteAccessRule.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteAccessRule.tsx
index 6d946d43a..7688ab8a7 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteAccessRule.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteAccessRule.tsx
@@ -20,12 +20,13 @@ import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
import { modalBasic } from "../../Common/FormComponents/common/styleLibrary";
-import { useDispatch } from "react-redux";
+
import { ErrorResponseHandler } from "../../../../common/types";
import useApi from "../../Common/Hooks/useApi";
import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog";
import { ConfirmDeleteIcon } from "../../../../icons";
import { setErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
interface IDeleteAccessRule {
modalOpen: boolean;
@@ -45,7 +46,7 @@ const DeleteAccessRule = ({
bucket,
toDelete,
}: IDeleteAccessRule) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const onDelSuccess = () => onClose();
const onDelError = (err: ErrorResponseHandler) =>
dispatch(setErrorSnackMessage(err));
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteBucketLifecycleRule.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteBucketLifecycleRule.tsx
index ad65dfdeb..2a3d630b4 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteBucketLifecycleRule.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteBucketLifecycleRule.tsx
@@ -25,8 +25,9 @@ import { ErrorResponseHandler } from "../../../../common/types";
import { ConfirmDeleteIcon } from "../../../../icons";
import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog";
import api from "../../../../common/api";
-import { useDispatch } from "react-redux";
+
import { setErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
interface IDeleteLifecycleRule {
deleteOpen: boolean;
@@ -46,7 +47,7 @@ const DeleteBucketLifecycleRule = ({
bucket,
id,
}: IDeleteLifecycleRule) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [deletingRule, setDeletingRule] = useState(false);
useEffect(() => {
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteBucketTagModal.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteBucketTagModal.tsx
index dd64ec07f..83c24166e 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteBucketTagModal.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteBucketTagModal.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React from "react";
-import { useDispatch } from "react-redux";
+
import { DialogContentText } from "@mui/material";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -26,6 +26,7 @@ import useApi from "../../Common/Hooks/useApi";
import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog";
import { ConfirmDeleteIcon } from "../../../../icons";
import { setErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
interface IDeleteBucketTagModal {
deleteOpen: boolean;
@@ -49,7 +50,7 @@ const DeleteBucketTagModal = ({
bucketName,
classes,
}: IDeleteBucketTagModal) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [tagKey, tagLabel] = selectedTag;
const onDelSuccess = () => onCloseAndUpdate(true);
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteEvent.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteEvent.tsx
index aa029b5aa..6edadc573 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteEvent.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteEvent.tsx
@@ -16,7 +16,7 @@
import React from "react";
import get from "lodash/get";
-import { useDispatch } from "react-redux";
+
import { DialogContentText } from "@mui/material";
import { BucketEvent } from "../types";
@@ -25,6 +25,7 @@ import useApi from "../../Common/Hooks/useApi";
import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog";
import { ConfirmDeleteIcon } from "../../../../icons";
import { setErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
interface IDeleteEventProps {
closeDeleteModalAndRefresh: (refresh: boolean) => void;
@@ -39,7 +40,7 @@ const DeleteEvent = ({
selectedBucket,
bucketEvent,
}: IDeleteEventProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const onDelSuccess = () => closeDeleteModalAndRefresh(true);
const onDelError = (err: ErrorResponseHandler) =>
dispatch(setErrorSnackMessage(err));
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteReplicationRule.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteReplicationRule.tsx
index 917da57cf..a6ab20d39 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteReplicationRule.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteReplicationRule.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { Fragment, useState } from "react";
-import { useDispatch } from "react-redux";
+
import { DialogContentText } from "@mui/material";
import { ErrorResponseHandler } from "../../../../common/types";
@@ -26,6 +26,7 @@ import Grid from "@mui/material/Grid";
import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper";
import WarningMessage from "../../Common/WarningMessage/WarningMessage";
import { setErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
interface IDeleteReplicationProps {
closeDeleteModalAndRefresh: (refresh: boolean) => void;
@@ -48,7 +49,7 @@ const DeleteReplicationRule = ({
allSelected,
deleteSelectedRules = false,
}: IDeleteReplicationProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [confirmationText, setConfirmationText] = useState("");
const onDelSuccess = () => closeDeleteModalAndRefresh(true);
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/EditAccessRule.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/EditAccessRule.tsx
index 98a3095cf..1cb825a3b 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/EditAccessRule.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/EditAccessRule.tsx
@@ -24,12 +24,13 @@ import {
modalStyleUtils,
spacingUtils,
} from "../../Common/FormComponents/common/styleLibrary";
-import { useDispatch } from "react-redux";
+
import api from "../../../../common/api";
import { ErrorResponseHandler } from "../../../../common/types";
import SelectWrapper from "../../Common/FormComponents/SelectWrapper/SelectWrapper";
import { AddAccessRuleIcon } from "../../../../icons";
import { setErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
interface IEditAccessRule {
classes: any;
@@ -54,7 +55,7 @@ const EditAccessRule = ({
toEdit,
initial,
}: IEditAccessRule) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [selectedAccess, setSelectedAccess] = useState(initial);
const accessOptions = [
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/EditLifecycleConfiguration.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/EditLifecycleConfiguration.tsx
index 0ac593784..f5d570f42 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/EditLifecycleConfiguration.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/EditLifecycleConfiguration.tsx
@@ -51,8 +51,9 @@ import FormSwitchWrapper from "../../Common/FormComponents/FormSwitchWrapper/For
import QueryMultiSelector from "../../Common/FormComponents/QueryMultiSelector/QueryMultiSelector";
import SelectWrapper from "../../Common/FormComponents/SelectWrapper/SelectWrapper";
import RadioGroupSelector from "../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector";
-import { useDispatch } from "react-redux";
+
import { setModalErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -95,7 +96,7 @@ const EditLifecycleConfiguration = ({
lifecycleRule,
open,
}: IAddUserContentProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [loadingTiers, setLoadingTiers] = useState(true);
const [addLoading, setAddLoading] = useState(false);
const [tags, setTags] = useState("");
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/EditReplicationModal.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/EditReplicationModal.tsx
index ca9eb9f83..1a9ea21fa 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/EditReplicationModal.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/EditReplicationModal.tsx
@@ -31,13 +31,13 @@ import {
spacingUtils,
} from "../../Common/FormComponents/common/styleLibrary";
import { BucketReplicationRule } from "../types";
-import { useDispatch } from "react-redux";
import api from "../../../../common/api";
import { ErrorResponseHandler } from "../../../../common/types";
import PredefinedList from "../../Common/FormComponents/PredefinedList/PredefinedList";
import FormSwitchWrapper from "../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
interface IEditReplicationModal {
closeModalAndRefresh: (refresh: boolean) => void;
@@ -74,7 +74,7 @@ const EditReplicationModal = ({
bucketName,
ruleID,
}: IEditReplicationModal) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [editLoading, setEditLoading] = useState(true);
const [saveEdit, setSaveEdit] = useState(false);
const [priority, setPriority] = useState("1");
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableBucketEncryption.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableBucketEncryption.tsx
index 8b1de69cb..680072d0f 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableBucketEncryption.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableBucketEncryption.tsx
@@ -31,8 +31,9 @@ import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper";
import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper";
import SelectWrapper from "../../Common/FormComponents/SelectWrapper/SelectWrapper";
import { BucketEncryptionIcon } from "../../../../icons";
-import { useDispatch } from "react-redux";
+
import { setModalErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -56,7 +57,7 @@ const EnableBucketEncryption = ({
selectedBucket,
closeModalAndRefresh,
}: IEnableBucketEncryptionProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [loading, setLoading] = useState(false);
const [kmsKeyID, setKmsKeyID] = useState("");
const [encryptionType, setEncryptionType] = useState("disabled");
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableQuota.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableQuota.tsx
index c497288bf..cff1c85c3 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableQuota.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableQuota.tsx
@@ -38,8 +38,9 @@ import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper";
import api from "../../../../common/api";
import { BucketQuotaIcon } from "../../../../icons";
import InputUnitMenu from "../../Common/FormComponents/InputUnitMenu/InputUnitMenu";
-import { useDispatch } from "react-redux";
+
import { setModalErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -64,7 +65,7 @@ const EnableQuota = ({
selectedBucket,
closeModalAndRefresh,
}: IEnableQuotaProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [loading, setLoading] = useState(false);
const [quotaEnabled, setQuotaEnabled] = useState(false);
const [quotaSize, setQuotaSize] = useState("1");
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableVersioningModal.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableVersioningModal.tsx
index 710a6f095..202fc74c7 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableVersioningModal.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableVersioningModal.tsx
@@ -21,8 +21,9 @@ import api from "../../../../common/api";
import { ErrorResponseHandler } from "../../../../common/types";
import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog";
import { ConfirmModalIcon } from "../../../../icons";
-import { useDispatch } from "react-redux";
+
import { setErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
interface IVersioningEventProps {
closeVersioningModalAndRefresh: (refresh: boolean) => void;
@@ -37,7 +38,7 @@ const EnableVersioningModal = ({
selectedBucket,
versioningCurrentState,
}: IVersioningEventProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [versioningLoading, setVersioningLoading] = useState(false);
const enableVersioning = () => {
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/SetAccessPolicy.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/SetAccessPolicy.tsx
index 4437f19f3..62b90231e 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/SetAccessPolicy.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/SetAccessPolicy.tsx
@@ -32,8 +32,9 @@ import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper";
import SelectWrapper from "../../Common/FormComponents/SelectWrapper/SelectWrapper";
import { ChangeAccessPolicyIcon } from "../../../../icons";
import CodeMirrorWrapper from "../../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper";
-import { useDispatch } from "react-redux";
+
import { setModalErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -72,7 +73,7 @@ const SetAccessPolicy = ({
actualDefinition,
closeModalAndRefresh,
}: ISetAccessPolicyProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [addLoading, setAddLoading] = useState(false);
const [accessPolicy, setAccessPolicy] = useState("");
const [policyDefinition, setPolicyDefinition] = useState("");
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx
index 147199ebe..b6e112602 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { useEffect, useState } from "react";
-import { useDispatch } from "react-redux";
+
import { Button, LinearProgress } from "@mui/material";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -38,6 +38,7 @@ import RadioGroupSelector from "../../Common/FormComponents/RadioGroupSelector/R
import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper";
import Loader from "../../Common/Loader/Loader";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -60,7 +61,7 @@ const SetRetentionConfig = ({
bucketName,
closeModalAndRefresh,
}: ISetRetentionConfigProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [addLoading, setAddLoading] = useState(false);
const [loadingForm, setLoadingForm] = useState(true);
const [retentionMode, setRetentionMode] = useState("compliance");
diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/BucketTags.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/BucketTags.tsx
index 41fdfcadc..6b81bd7c1 100644
--- a/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/BucketTags.tsx
+++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/BucketTags.tsx
@@ -26,8 +26,9 @@ import CloseIcon from "@mui/icons-material/Close";
import AddIcon from "@mui/icons-material/Add";
import withSuspense from "../../../Common/Components/withSuspense";
import Loader from "../../../Common/Loader/Loader";
-import { useDispatch } from "react-redux";
+
import { setErrorSnackMessage } from "../../../../../systemSlice";
+import { useAppDispatch } from "../../../../../store";
const AddBucketTagModal = withSuspense(
React.lazy(() => import("../AddBucketTagModal"))
@@ -41,7 +42,7 @@ type BucketTagProps = {
};
const BucketTags = ({ bucketName }: BucketTagProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [tags, setTags] = useState(null);
const [tagModalOpen, setTagModalOpen] = useState(false);
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucket.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucket.tsx
index 5e50ddd6f..5cd641c04 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucket.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucket.tsx
@@ -24,8 +24,8 @@ import { containerForHeader } from "../../../Common/FormComponents/common/styleL
import InputBoxWrapper from "../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper";
import RadioGroupSelector from "../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector";
import { k8sScalarUnitsExcluding } from "../../../../../common/utils";
-import { AppState } from "../../../../../store";
-import { useDispatch, useSelector } from "react-redux";
+import { AppState, useAppDispatch } from "../../../../../store";
+import { useSelector } from "react-redux";
import FormSwitchWrapper from "../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper";
import PageHeader from "../../../Common/PageHeader/PageHeader";
import BackLink from "../../../../../common/BackLink";
@@ -103,7 +103,7 @@ interface IsetProps {
}
const AddBucket = ({ classes }: IsetProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const navigate = useNavigate();
const versioningEnabled = useSelector(
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucketName.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucketName.tsx
index 05e104c4f..969f72f3c 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucketName.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucketName.tsx
@@ -17,11 +17,11 @@
import React from "react";
import { setName } from "./addBucketsSlice";
import InputBoxWrapper from "../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper";
-import { useDispatch, useSelector } from "react-redux";
-import { AppState } from "../../../../../store";
+import { useSelector } from "react-redux";
+import { AppState, useAppDispatch } from "../../../../../store";
const AddBucketName = () => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const bucketName = useSelector((state: AppState) => state.addBucket.name);
return (
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/BulkLifecycleModal.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/BulkLifecycleModal.tsx
index 7294a7a73..f62d8b353 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/BulkLifecycleModal.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/BulkLifecycleModal.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { Fragment, useEffect, useState } from "react";
-import { useDispatch } from "react-redux";
+
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -47,6 +47,7 @@ import {
} from "../../Configurations/TiersConfiguration/types";
import { MultiBucketResult } from "../types";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
interface IBulkReplicationModal {
open: boolean;
@@ -83,7 +84,7 @@ const AddBulkReplicationModal = ({
classes,
buckets,
}: IBulkReplicationModal) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [addLoading, setAddLoading] = useState(false);
const [loadingTiers, setLoadingTiers] = useState(true);
const [tiersList, setTiersList] = useState([]);
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/BulkReplicationModal.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/BulkReplicationModal.tsx
index 9ef6487d7..dae5b8449 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/BulkReplicationModal.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/BulkReplicationModal.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { Fragment, useEffect, useState } from "react";
-import { useDispatch } from "react-redux";
+
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -42,6 +42,7 @@ import { getBytes, k8sScalarUnitsExcluding } from "../../../../common/utils";
import { ErrorResponseHandler } from "../../../../common/types";
import InputUnitMenu from "../../Common/FormComponents/InputUnitMenu/InputUnitMenu";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
interface IBulkReplicationModal {
open: boolean;
@@ -78,7 +79,7 @@ const AddBulkReplicationModal = ({
classes,
buckets,
}: IBulkReplicationModal) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [bucketsToAlter, setBucketsToAlter] = useState([]);
const [addLoading, setAddLoading] = useState(false);
const [externalLoading, setExternalLoading] = useState(false);
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/DeleteBucket.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/DeleteBucket.tsx
index 4cdd1c6ae..48821b884 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/DeleteBucket.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/DeleteBucket.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React from "react";
-import { useDispatch } from "react-redux";
+
import { DialogContentText } from "@mui/material";
import { ErrorResponseHandler } from "../../../../common/types";
@@ -23,6 +23,7 @@ import useApi from "../../Common/Hooks/useApi";
import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog";
import { ConfirmDeleteIcon } from "../../../../icons";
import { setErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
interface IDeleteBucketProps {
closeDeleteModalAndRefresh: (refresh: boolean) => void;
@@ -35,7 +36,7 @@ const DeleteBucket = ({
deleteOpen,
selectedBucket,
}: IDeleteBucketProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const onDelSuccess = () => closeDeleteModalAndRefresh(true);
const onDelError = (err: ErrorResponseHandler) =>
dispatch(setErrorSnackMessage(err));
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/ListBuckets.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/ListBuckets.tsx
index 4c9026ea5..4bdc2fd9d 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/ListBuckets.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/ListBuckets.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { Fragment, useEffect, useState } from "react";
-import { useDispatch } from "react-redux";
+
import { useNavigate } from "react-router-dom";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -56,6 +56,7 @@ import RBIconButton from "../BucketDetails/SummaryItems/RBIconButton";
import BulkLifecycleModal from "./BulkLifecycleModal";
import hasPermission from "../../../../common/SecureComponent/accessControl";
import { setErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -87,7 +88,7 @@ interface IListBucketsProps {
}
const ListBuckets = ({ classes }: IListBucketsProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const navigate = useNavigate();
const [records, setRecords] = useState([]);
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/CreatePathModal.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/CreatePathModal.tsx
index 3165678a6..dd58eda2b 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/CreatePathModal.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/CreatePathModal.tsx
@@ -26,12 +26,12 @@ import {
formFieldStyles,
modalStyleUtils,
} from "../../../../Common/FormComponents/common/styleLibrary";
-import { connect, useDispatch } from "react-redux";
+import { connect } from "react-redux";
import { encodeURLString } from "../../../../../../common/utils";
import { BucketObjectItem } from "./types";
import { CreateNewPathIcon } from "../../../../../../icons";
-import { AppState } from "../../../../../../store";
+import { AppState, useAppDispatch } from "../../../../../../store";
import { setModalErrorSnackMessage } from "../../../../../../systemSlice";
interface ICreatePath {
@@ -59,7 +59,7 @@ const CreatePathModal = ({
existingFiles,
simplePath,
}: ICreatePath) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const navigate = useNavigate();
const [pathUrl, setPathUrl] = useState("");
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteMultipleObjects.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteMultipleObjects.tsx
index 3d809fcbd..1d2f02fcf 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteMultipleObjects.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteMultipleObjects.tsx
@@ -22,8 +22,9 @@ import useApi from "../../../../Common/Hooks/useApi";
import ConfirmDialog from "../../../../Common/ModalWrapper/ConfirmDialog";
import { ConfirmDeleteIcon } from "../../../../../../icons";
import FormSwitchWrapper from "../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper";
-import { useDispatch } from "react-redux";
+
import { setErrorSnackMessage } from "../../../../../../systemSlice";
+import { useAppDispatch } from "../../../../../../store";
interface IDeleteObjectProps {
closeDeleteModalAndRefresh: (refresh: boolean) => void;
@@ -42,7 +43,7 @@ const DeleteObject = ({
versioning,
}: IDeleteObjectProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const onDelSuccess = () => closeDeleteModalAndRefresh(true);
const onDelError = (err: ErrorResponseHandler) =>
dispatch(setErrorSnackMessage(err));
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx
index d8b41840b..9e3b20b46 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { useEffect, useState } from "react";
-import { useDispatch } from "react-redux";
+
import { DialogContentText } from "@mui/material";
import Grid from "@mui/material/Grid";
import { ErrorResponseHandler } from "../../../../../../common/types";
@@ -25,6 +25,7 @@ import ConfirmDialog from "../../../../Common/ModalWrapper/ConfirmDialog";
import api from "../../../../../../common/api";
import InputBoxWrapper from "../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper";
import { setErrorSnackMessage } from "../../../../../../systemSlice";
+import { useAppDispatch } from "../../../../../../store";
interface IDeleteNonCurrentProps {
closeDeleteModalAndRefresh: (refresh: boolean) => void;
@@ -39,7 +40,7 @@ const DeleteNonCurrentVersions = ({
selectedBucket,
selectedObject,
}: IDeleteNonCurrentProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [deleteLoading, setDeleteLoading] = useState(false);
const [typeConfirm, setTypeConfirm] = useState("");
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx
index 25a20cba7..aec4ad861 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx
@@ -23,8 +23,9 @@ import ConfirmDialog from "../../../../Common/ModalWrapper/ConfirmDialog";
import useApi from "../../../../Common/Hooks/useApi";
import { ConfirmDeleteIcon } from "../../../../../../icons";
import FormSwitchWrapper from "../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper";
-import { useDispatch } from "react-redux";
+
import { setErrorSnackMessage } from "../../../../../../systemSlice";
+import { useAppDispatch } from "../../../../../../store";
interface IDeleteObjectProps {
closeDeleteModalAndRefresh: (refresh: boolean) => void;
@@ -45,7 +46,7 @@ const DeleteObject = ({
versioning,
selectedVersion = "",
}: IDeleteObjectProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const onDelSuccess = () => closeDeleteModalAndRefresh(true);
const onDelError = (err: ErrorResponseHandler) =>
dispatch(setErrorSnackMessage(err));
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx
index 12bbccc67..32b55dc71 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { useState } from "react";
-import { useDispatch } from "react-redux";
+
import withStyles from "@mui/styles/withStyles";
import {
decodeURLString,
@@ -40,6 +40,7 @@ import { PasswordKeyIcon } from "../../../../../../icons";
import { Box, DialogContentText } from "@mui/material";
import KeyRevealer from "../../../../Tools/KeyRevealer";
import { setErrorSnackMessage } from "../../../../../../systemSlice";
+import { useAppDispatch } from "../../../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -63,7 +64,7 @@ const InspectObject = ({
inspectPath,
volumeName,
}: IInspectObjectProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const onClose = () => closeInspectModalAndRefresh(false);
const [isEncrypt, setIsEncrypt] = useState(true);
const [decryptionKey, setDecryptionKey] = useState("");
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 3f3515143..5bd36dd78 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
@@ -22,7 +22,7 @@ import React, {
useRef,
useState,
} from "react";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import { useNavigate, useParams } from "react-router-dom";
import { useDropzone } from "react-dropzone";
import { Theme } from "@mui/material/styles";
@@ -66,7 +66,7 @@ import { ErrorResponseHandler } from "../../../../../../common/types";
import ScreenTitle from "../../../../Common/ScreenTitle/ScreenTitle";
-import { AppState } from "../../../../../../store";
+import { AppState, useAppDispatch } from "../../../../../../store";
import PageLayout from "../../../../Common/Layout/PageLayout";
import { IAM_SCOPES } from "../../../../../../common/SecureComponent/permissions";
@@ -270,7 +270,7 @@ const defLoading = Loading...;
const ListObjects = () => {
const classes = useStyles();
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const params = useParams();
const navigate = useNavigate();
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx
index 262c42a13..9a2ca0d44 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { Fragment, useEffect, useState } from "react";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import { Box, Button } from "@mui/material";
import { withStyles } from "@mui/styles";
import createStyles from "@mui/styles/createStyles";
@@ -41,7 +41,7 @@ import {
} from "../../../../../../common/utils";
import { IAM_SCOPES } from "../../../../../../common/SecureComponent/permissions";
-import { AppState } from "../../../../../../store";
+import { AppState, useAppDispatch } from "../../../../../../store";
import {
DeleteIcon,
DownloadIcon,
@@ -158,7 +158,7 @@ const ObjectDetailPanel = ({
onClosePanel,
}: IObjectDetailPanelProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const distributedSetup = useSelector(selDistSet);
const versionsMode = useSelector(
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/RewindEnable.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/RewindEnable.tsx
index dffefaf7e..6252f7253 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/RewindEnable.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/RewindEnable.tsx
@@ -15,13 +15,13 @@
// along with this program. If not, see .
import React, { useEffect, useState } from "react";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import { Button, LinearProgress } from "@mui/material";
import Grid from "@mui/material/Grid";
import ModalWrapper from "../../../../Common/ModalWrapper/ModalWrapper";
import DateTimePickerWrapper from "../../../../Common/FormComponents/DateTimePickerWrapper/DateTimePickerWrapper";
import FormSwitchWrapper from "../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper";
-import { AppState } from "../../../../../../store";
+import { AppState, useAppDispatch } from "../../../../../../store";
import {
resetRewind,
setRewindEnable,
@@ -38,7 +38,7 @@ const RewindEnable = ({
open,
bucketName,
}: IRewindEnable) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const rewindEnabled = useSelector(
(state: AppState) => state.objectBrowser.rewind.rewindEnabled
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteSelectedVersions.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteSelectedVersions.tsx
index 019c43b8e..2b2662da2 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteSelectedVersions.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteSelectedVersions.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { useEffect, useState } from "react";
-import { useDispatch } from "react-redux";
+
import { DialogContentText } from "@mui/material";
import { ErrorResponseHandler } from "../../../../../../common/types";
@@ -23,6 +23,7 @@ import ConfirmDialog from "../../../../Common/ModalWrapper/ConfirmDialog";
import { ConfirmDeleteIcon } from "../../../../../../icons";
import api from "../../../../../../common/api";
import { setErrorSnackMessage } from "../../../../../../systemSlice";
+import { useAppDispatch } from "../../../../../../store";
interface IDeleteSelectedVersionsProps {
closeDeleteModalAndRefresh: (refresh: boolean) => void;
@@ -39,7 +40,7 @@ const DeleteObject = ({
selectedVersions,
selectedObject,
}: IDeleteSelectedVersionsProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [deleteLoading, setDeleteLoading] = useState(false);
const onClose = () => closeDeleteModalAndRefresh(false);
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx
index fcb110cba..335af8089 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx
@@ -17,7 +17,7 @@
import React, { useState } from "react";
import { DialogContentText } from "@mui/material";
import { Theme } from "@mui/material/styles";
-import { useDispatch } from "react-redux";
+
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
import { modalBasic } from "../../../../Common/FormComponents/common/styleLibrary";
@@ -28,6 +28,7 @@ import api from "../../../../../../common/api";
import ConfirmDialog from "../../../../Common/ModalWrapper/ConfirmDialog";
import RecoverIcon from "../../../../../../icons/RecoverIcon";
import { setErrorSnackMessage } from "../../../../../../systemSlice";
+import { useAppDispatch } from "../../../../../../store";
interface IRestoreFileVersion {
classes: any;
@@ -51,7 +52,7 @@ const RestoreFileVersion = ({
restoreOpen,
onCloseAndUpdate,
}: IRestoreFileVersion) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [restoreLoading, setRestoreLoading] = useState(false);
const restoreVersion = () => {
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx
index 59ff49b6b..1192dce3e 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx
@@ -33,8 +33,9 @@ import ModalWrapper from "../../../../Common/ModalWrapper/ModalWrapper";
import FormSwitchWrapper from "../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper";
import api from "../../../../../../common/api";
import { encodeURLString } from "../../../../../../common/utils";
-import { useDispatch } from "react-redux";
+
import { setModalErrorSnackMessage } from "../../../../../../systemSlice";
+import { useAppDispatch } from "../../../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -60,7 +61,7 @@ const SetLegalHoldModal = ({
bucketName,
actualInfo,
}: ISetRetentionProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [legalHoldEnabled, setLegalHoldEnabled] = useState(false);
const [isSaving, setIsSaving] = useState(false);
const versionId = actualInfo.version_id;
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetRetention.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetRetention.tsx
index 8cedfff73..16a664deb 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetRetention.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetRetention.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { useEffect, useRef, useState } from "react";
-import { useDispatch } from "react-redux";
+
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -37,6 +37,7 @@ import DateSelector from "../../../../Common/FormComponents/DateSelector/DateSel
import api from "../../../../../../common/api";
import { encodeURLString } from "../../../../../../common/utils";
import { setModalErrorSnackMessage } from "../../../../../../systemSlice";
+import { useAppDispatch } from "../../../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -81,7 +82,7 @@ const SetRetention = ({
objectInfo,
bucketName,
}: ISetRetentionProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [statusEnabled, setStatusEnabled] = useState(true);
const [type, setType] = useState("");
const [date, setDate] = useState("");
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx
index 71e5c76ea..ff7efb26f 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx
@@ -16,7 +16,7 @@
import React, { Fragment, useEffect, useState } from "react";
import get from "lodash/get";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -42,6 +42,7 @@ import {
setModalErrorSnackMessage,
setModalSnackMessage,
} from "../../../../../../systemSlice";
+import { useAppDispatch } from "../../../../../../store";
const CopyIcon = React.lazy(() => import("../../../../../../icons/CopyIcon"));
@@ -94,7 +95,7 @@ const ShareFile = ({
bucketName,
dataObject,
}: IShareFileProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const distributedSetup = useSelector(selDistSet);
const [shareURL, setShareURL] = useState("");
const [isLoadingVersion, setIsLoadingVersion] = useState(true);
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx
index 0e3ff6571..b6dfc6646 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx
@@ -16,7 +16,7 @@
import React, { Fragment, useState } from "react";
import get from "lodash/get";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import { Box, Button, Grid } from "@mui/material";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -45,6 +45,7 @@ import {
selDistSet,
setModalErrorSnackMessage,
} from "../../../../../../systemSlice";
+import { useAppDispatch } from "../../../../../../store";
interface ITagModal {
modalOpen: boolean;
@@ -99,7 +100,7 @@ const AddTagModal = ({
actualInfo,
classes,
}: ITagModal) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const distributedSetup = useSelector(selDistSet);
const [newKey, setNewKey] = useState("");
const [newLabel, setNewLabel] = useState("");
diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx
index ceb363cdc..c4c8f2173 100644
--- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx
+++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx
@@ -16,7 +16,7 @@
import React, { Fragment, useEffect, useState } from "react";
import get from "lodash/get";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import { withStyles } from "@mui/styles";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -47,7 +47,7 @@ import {
import ScreenTitle from "../../../../Common/ScreenTitle/ScreenTitle";
import RestoreFileVersion from "./RestoreFileVersion";
-import { AppState } from "../../../../../../store";
+import { AppState, useAppDispatch } from "../../../../../../store";
import {
DeleteIcon,
DeleteNonCurrentIcon,
@@ -162,7 +162,7 @@ const VersionsNavigator = ({
internalPaths,
bucketName,
}: IVersionsNavigatorProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const searchVersions = useSelector(
(state: AppState) => state.objectBrowser.searchVersions
diff --git a/portal-ui/src/screens/Console/Common/MainError/MainError.tsx b/portal-ui/src/screens/Console/Common/MainError/MainError.tsx
index 5c4ea8727..46eb2ca74 100644
--- a/portal-ui/src/screens/Console/Common/MainError/MainError.tsx
+++ b/portal-ui/src/screens/Console/Common/MainError/MainError.tsx
@@ -15,9 +15,9 @@
// along with this program. If not, see .
import React, { useCallback, useEffect, useState } from "react";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import get from "lodash/get";
-import { AppState } from "../../../../store";
+import { AppState, useAppDispatch } from "../../../../store";
import { Box } from "@mui/material";
import { AlertCloseIcon } from "../../../../icons";
import { Portal } from "@mui/base";
@@ -38,7 +38,7 @@ const stopHideTimer = () => {
};
const MainError = ({ isModal = false }: IMainErrorProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const snackBar = useSelector((state: AppState) => {
return isModal ? state.system.modalSnackBar : state.system.snackBar;
});
diff --git a/portal-ui/src/screens/Console/Common/ModalWrapper/ModalWrapper.tsx b/portal-ui/src/screens/Console/Common/ModalWrapper/ModalWrapper.tsx
index cc642d205..bf63622e6 100644
--- a/portal-ui/src/screens/Console/Common/ModalWrapper/ModalWrapper.tsx
+++ b/portal-ui/src/screens/Console/Common/ModalWrapper/ModalWrapper.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 { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import IconButton from "@mui/material/IconButton";
import Snackbar from "@mui/material/Snackbar";
import { Dialog, DialogContent, DialogTitle } from "@mui/material";
@@ -25,7 +25,7 @@ import {
deleteDialogStyles,
snackBarCommon,
} from "../FormComponents/common/styleLibrary";
-import { AppState } from "../../../../store";
+import { AppState, useAppDispatch } from "../../../../store";
import CloseIcon from "@mui/icons-material/Close";
import MainError from "../MainError/MainError";
import { setModalSnackMessage } from "../../../../systemSlice";
@@ -65,7 +65,7 @@ const ModalWrapper = ({
noContentPadding,
titleIcon = null,
}: IModalProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [openSnackbar, setOpenSnackbar] = useState(false);
const modalSnackMessage = useSelector(
diff --git a/portal-ui/src/screens/Console/Common/ObjectManager/ObjectManager.tsx b/portal-ui/src/screens/Console/Common/ObjectManager/ObjectManager.tsx
index be0b52fc7..c3ae4ba7f 100644
--- a/portal-ui/src/screens/Console/Common/ObjectManager/ObjectManager.tsx
+++ b/portal-ui/src/screens/Console/Common/ObjectManager/ObjectManager.tsx
@@ -16,11 +16,11 @@
import React, { Fragment } from "react";
import { Theme } from "@mui/material/styles";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
import { IconButton, Tooltip } from "@mui/material";
-import { AppState } from "../../../../store";
+import { AppState, useAppDispatch } from "../../../../store";
import { RemoveAllIcon } from "../../../../icons";
import ObjectHandled from "./ObjectHandled";
import {
@@ -86,7 +86,7 @@ interface IObjectManager {
}
const ObjectManager = ({ classes }: IObjectManager) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const objects = useSelector(
(state: AppState) => state.objectBrowser.objectManager.objectsToManage
diff --git a/portal-ui/src/screens/Console/Common/PageHeader/PageHeader.tsx b/portal-ui/src/screens/Console/Common/PageHeader/PageHeader.tsx
index a7cffc081..9b52e39c9 100644
--- a/portal-ui/src/screens/Console/Common/PageHeader/PageHeader.tsx
+++ b/portal-ui/src/screens/Console/Common/PageHeader/PageHeader.tsx
@@ -16,12 +16,12 @@
import React, { Fragment, useEffect, useState } from "react";
import { Theme } from "@mui/material/styles";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import Grid from "@mui/material/Grid";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
import IconButton from "@mui/material/IconButton";
-import { AppState } from "../../../../store";
+import { AppState, useAppDispatch } from "../../../../store";
import OperatorLogo from "../../../../icons/OperatorLogo";
import ConsoleLogo from "../../../../icons/ConsoleLogo";
@@ -101,7 +101,7 @@ const PageHeader = ({
actions,
middleComponent,
}: IPageHeader) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const sidebarOpen = useSelector(
(state: AppState) => state.system.sidebarOpen
diff --git a/portal-ui/src/screens/Console/Configurations/SiteReplication/AddReplicationSites.tsx b/portal-ui/src/screens/Console/Configurations/SiteReplication/AddReplicationSites.tsx
index 9de303f82..af09cdc63 100644
--- a/portal-ui/src/screens/Console/Configurations/SiteReplication/AddReplicationSites.tsx
+++ b/portal-ui/src/screens/Console/Configurations/SiteReplication/AddReplicationSites.tsx
@@ -18,7 +18,7 @@ import React, { Fragment, useEffect, useState } from "react";
import Grid from "@mui/material/Grid";
import { Box, Button, LinearProgress } from "@mui/material";
import { useNavigate } from "react-router-dom";
-import { useDispatch } from "react-redux";
+
import RBIconButton from "../../Buckets/BucketDetails/SummaryItems/RBIconButton";
import useApi from "../../Common/Hooks/useApi";
import { AddIcon, ClustersIcon, RemoveIcon } from "../../../../icons";
@@ -33,6 +33,7 @@ import {
setErrorSnackMessage,
setSnackBarMessage,
} from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
type SiteInputRow = {
name: string;
@@ -55,7 +56,7 @@ const isValidEndPoint = (ep: string) => {
}
};
const AddReplicationSites = () => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const navigate = useNavigate();
const [existingSites, setExistingSites] = useState([]);
diff --git a/portal-ui/src/screens/Console/Configurations/SiteReplication/ReplicationSites.tsx b/portal-ui/src/screens/Console/Configurations/SiteReplication/ReplicationSites.tsx
index 85c07a23c..4abd5f557 100644
--- a/portal-ui/src/screens/Console/Configurations/SiteReplication/ReplicationSites.tsx
+++ b/portal-ui/src/screens/Console/Configurations/SiteReplication/ReplicationSites.tsx
@@ -26,7 +26,7 @@ import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog";
import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper";
import Grid from "@mui/material/Grid";
import useApi from "../../Common/Hooks/useApi";
-import { useDispatch } from "react-redux";
+
import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper";
import withStyles from "@mui/styles/withStyles";
import { Theme } from "@mui/material/styles";
@@ -40,6 +40,7 @@ import {
setErrorSnackMessage,
setSnackBarMessage,
} from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -59,7 +60,7 @@ const ReplicationSites = ({
onRefresh: () => void;
classes: any;
}) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [deleteSiteKey, setIsDeleteSiteKey] = useState("");
const [editSite, setEditSite] = useState(null);
const [editEndPointName, setEditEndPointName] = useState("");
diff --git a/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplication.tsx b/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplication.tsx
index ea29bd3e4..c9a5f87d0 100644
--- a/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplication.tsx
+++ b/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplication.tsx
@@ -16,7 +16,7 @@
import React, { Fragment, useEffect, useState } from "react";
import { useNavigate } from "react-router-dom";
-import { useDispatch } from "react-redux";
+
import { Box, DialogContentText, Grid } from "@mui/material";
import PageHeader from "../../Common/PageHeader/PageHeader";
import PageLayout from "../../Common/Layout/PageLayout";
@@ -40,6 +40,7 @@ import {
setSnackBarMessage,
} from "../../../../systemSlice";
import AButton from "../../Common/AButton/AButton";
+import { useAppDispatch } from "../../../../store";
export type ReplicationSite = {
deploymentID: string;
@@ -49,7 +50,7 @@ export type ReplicationSite = {
};
const SiteReplication = () => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const navigate = useNavigate();
const [sites, setSites] = useState([]);
diff --git a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx
index 61fc35b11..4121faaac 100644
--- a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx
+++ b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { Fragment, useCallback, useEffect, useState } from "react";
-import { useDispatch } from "react-redux";
+
import { useNavigate, useParams } from "react-router-dom";
import get from "lodash/get";
import Grid from "@mui/material/Grid";
@@ -47,6 +47,7 @@ import { IAM_PAGES } from "../../../../common/SecureComponent/permissions";
import RegionSelectWrapper from "./RegionSelectWrapper";
import { setErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -82,7 +83,7 @@ const AddTierConfiguration = ({
classes,
history,
}: IAddNotificationEndpointProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const navigate = useNavigate();
const params = useParams();
diff --git a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/ListTiersConfiguration.tsx b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/ListTiersConfiguration.tsx
index e69ff3976..610e59369 100644
--- a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/ListTiersConfiguration.tsx
+++ b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/ListTiersConfiguration.tsx
@@ -16,7 +16,7 @@
import React, { Fragment, useEffect, useState } from "react";
import get from "lodash/get";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -56,6 +56,7 @@ import { tierTypes } from "./utils";
import RBIconButton from "../../Buckets/BucketDetails/SummaryItems/RBIconButton";
import { selDistSet, setErrorSnackMessage } from "../../../../systemSlice";
import { useNavigate } from "react-router-dom";
+import { useAppDispatch } from "../../../../store";
const UpdateTierCredentialsModal = withSuspense(
React.lazy(() => import("./UpdateTierCredentialsModal"))
@@ -94,7 +95,7 @@ const styles = (theme: Theme) =>
});
const ListTiersConfiguration = ({ classes }: IListTiersConfig) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const navigate = useNavigate();
const distributedSetup = useSelector(selDistSet);
diff --git a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx
index 38063aac6..3ff825e3e 100644
--- a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx
+++ b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx
@@ -16,7 +16,7 @@
import React, { Fragment, useEffect, useState } from "react";
import get from "lodash/get";
-import { useDispatch } from "react-redux";
+
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -35,6 +35,7 @@ import { ErrorResponseHandler } from "../../../../common/types";
import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper";
import { LockIcon } from "../../../../icons";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
+import { useAppDispatch } from "../../../../store";
interface ITierCredentialsModal {
open: boolean;
@@ -58,7 +59,7 @@ const UpdateTierCredentialsModal = ({
classes,
tierData,
}: ITierCredentialsModal) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [savingTiers, setSavingTiers] = useState(false);
const [accessKey, setAccessKey] = useState("");
const [secretKey, setSecretKey] = useState("");
diff --git a/portal-ui/src/screens/Console/Console.tsx b/portal-ui/src/screens/Console/Console.tsx
index 92ec1a00b..15a0eee82 100644
--- a/portal-ui/src/screens/Console/Console.tsx
+++ b/portal-ui/src/screens/Console/Console.tsx
@@ -29,8 +29,8 @@ import { Button, LinearProgress } from "@mui/material";
import CssBaseline from "@mui/material/CssBaseline";
import Snackbar from "@mui/material/Snackbar";
import { Navigate, Route, Routes, useLocation } from "react-router-dom";
-import { useDispatch, useSelector } from "react-redux";
-import { AppState } from "../../store";
+import { useSelector } from "react-redux";
+import { AppState, useAppDispatch } from "../../store";
import { snackBarCommon } from "./Common/FormComponents/common/styleLibrary";
import { ErrorResponseHandler } from "../../common/types";
@@ -179,7 +179,7 @@ interface IConsoleProps {
}
const Console = ({ classes }: IConsoleProps) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const { pathname = "" } = useLocation();
const open = useSelector((state: AppState) => state.system.sidebarOpen);
const session = useSelector(selSession);
diff --git a/portal-ui/src/screens/Console/Dashboard/Dashboard.tsx b/portal-ui/src/screens/Console/Dashboard/Dashboard.tsx
index 0abdfc6ef..8d90de65e 100644
--- a/portal-ui/src/screens/Console/Dashboard/Dashboard.tsx
+++ b/portal-ui/src/screens/Console/Dashboard/Dashboard.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { Fragment, useCallback, useEffect, useState } from "react";
-import { useDispatch } from "react-redux";
+
import get from "lodash/get";
import PrDashboard from "./Prometheus/PrDashboard";
import PageHeader from "../Common/PageHeader/PageHeader";
@@ -31,6 +31,7 @@ import { Usage } from "./types";
import { ErrorResponseHandler } from "../../../common/types";
import BasicDashboard from "./BasicDashboard/BasicDashboard";
import { setErrorSnackMessage } from "../../../systemSlice";
+import { useAppDispatch } from "../../../store";
interface IDashboardSimple {
classes: any;
@@ -42,7 +43,7 @@ const styles = (theme: Theme) =>
});
const Dashboard = ({ classes }: IDashboardSimple) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [loading, setLoading] = useState(true);
const [basicResult, setBasicResult] = useState(null);
diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/PrDashboard.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/PrDashboard.tsx
index 22ecaefff..55ffd564d 100644
--- a/portal-ui/src/screens/Console/Dashboard/Prometheus/PrDashboard.tsx
+++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/PrDashboard.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { Fragment, useCallback, useEffect, useState } from "react";
-import { useDispatch, useSelector } from "react-redux";
+import { useSelector } from "react-redux";
import Grid from "@mui/material/Grid";
import { Theme } from "@mui/material/styles";
@@ -35,7 +35,7 @@ import api from "../../../../common/api";
import TabSelector from "../../Common/TabSelector/TabSelector";
import { componentToUse } from "./widgetUtils";
import ZoomWidget from "./ZoomWidget";
-import { AppState } from "../../../../store";
+import { AppState, useAppDispatch } from "../../../../store";
import DateRangeSelector from "../../Common/FormComponents/DateRangeSelector/DateRangeSelector";
import {
DLayoutColumnProps,
@@ -67,7 +67,7 @@ const styles = (theme: Theme) =>
});
const PrDashboard = ({ apiPrefix = "admin" }: IPrDashboard) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const zoomOpen = useSelector(
(state: AppState) => state.dashboard.zoom.openZoom
);
diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/BarChartWidget.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/BarChartWidget.tsx
index 19763da79..e4083d9b6 100644
--- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/BarChartWidget.tsx
+++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/BarChartWidget.tsx
@@ -15,7 +15,7 @@
// along with this program. If not, see .
import React, { Fragment, useEffect, useState } from "react";
-import { useDispatch } from "react-redux";
+
import {
Bar,
BarChart,
@@ -41,6 +41,7 @@ import { useTheme } from "@mui/styles";
import Loader from "../../../Common/Loader/Loader";
import ExpandGraphLink from "./ExpandGraphLink";
import { setErrorSnackMessage } from "../../../../../systemSlice";
+import { useAppDispatch } from "../../../../../store";
interface IBarChartWidget {
classes: any;
@@ -90,7 +91,7 @@ const BarChartWidget = ({
apiPrefix,
zoomActivated = false,
}: IBarChartWidget) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [loading, setLoading] = useState(true);
const [data, setData] = useState([]);
const [result, setResult] = useState(null);
diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/CapacityItem.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/CapacityItem.tsx
index d7ecdfb5b..967b532b5 100644
--- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/CapacityItem.tsx
+++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/CapacityItem.tsx
@@ -20,7 +20,6 @@ import { Box } from "@mui/material";
import api from "../../../../../common/api";
import { widgetDetailsToPanel } from "../utils";
import { ErrorResponseHandler } from "../../../../../common/types";
-import { useDispatch } from "react-redux";
import {
calculateBytes,
@@ -31,6 +30,7 @@ import { Cell, Pie, PieChart } from "recharts";
import { ReportedUsageIcon } from "../../../../../icons";
import Loader from "../../../Common/Loader/Loader";
import { setErrorSnackMessage } from "../../../../../systemSlice";
+import { useAppDispatch } from "../../../../../store";
const CapacityItem = ({
value,
@@ -45,7 +45,7 @@ const CapacityItem = ({
propLoading: boolean;
apiPrefix: string;
}) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [loading, setLoading] = useState(true);
const [totalUsableFree, setTotalUsableFree] = useState(0);
diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/EntityStateStatItem.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/EntityStateStatItem.tsx
index 6149801cf..9b078e33b 100644
--- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/EntityStateStatItem.tsx
+++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/EntityStateStatItem.tsx
@@ -21,8 +21,9 @@ import { widgetDetailsToPanel } from "../utils";
import { ErrorResponseHandler } from "../../../../../common/types";
import { IDashboardPanel } from "../types";
import Loader from "../../../Common/Loader/Loader";
-import { useDispatch } from "react-redux";
+
import { setErrorSnackMessage } from "../../../../../systemSlice";
+import { useAppDispatch } from "../../../../../store";
const EntityStateStatItem = ({
panelItem,
@@ -39,7 +40,7 @@ const EntityStateStatItem = ({
apiPrefix: string;
statLabel: any;
}) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [loading, setLoading] = useState(true);
const [data, setData] = useState("");
diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/ExpandGraphLink.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/ExpandGraphLink.tsx
index 49a07e70c..3b90e2238 100644
--- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/ExpandGraphLink.tsx
+++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/ExpandGraphLink.tsx
@@ -18,11 +18,12 @@ import React from "react";
import ZoomOutMapIcon from "@mui/icons-material/ZoomOutMap";
import { Box } from "@mui/material";
import { IDashboardPanel } from "../types";
-import { useDispatch } from "react-redux";
+
import { openZoomPage } from "../../dashboardSlice";
+import { useAppDispatch } from "../../../../../store";
const ExpandGraphLink = ({ panelItem }: { panelItem: IDashboardPanel }) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
return (
.
import React, { Fragment, useEffect, useState } from "react";
-import { useDispatch } from "react-redux";
+
import {
Area,
AreaChart,
@@ -41,6 +41,7 @@ import { useTheme } from "@mui/styles";
import Loader from "../../../Common/Loader/Loader";
import ExpandGraphLink from "./ExpandGraphLink";
import { setErrorSnackMessage } from "../../../../../systemSlice";
+import { useAppDispatch } from "../../../../../store";
interface ILinearGraphWidget {
classes: any;
@@ -107,7 +108,7 @@ const LinearGraphWidget = ({
xAxisFormatter = (item: string) => item,
zoomActivated = false,
}: ILinearGraphWidget) => {
- const dispatch = useDispatch();
+ const dispatch = useAppDispatch();
const [loading, setLoading] = useState(true);
const [data, setData] = useState