From df38c84075f9926c381c0cbb1631ee51dbd468a9 Mon Sep 17 00:00:00 2001 From: Alex <33497058+bexsoft@users.noreply.github.com> Date: Fri, 10 Jun 2022 13:05:21 -0500 Subject: [PATCH] Changed useDispatch implementation to comply with TS specification (#2110) Signed-off-by: Benjamin Perez --- portal-ui/src/ProtectedRoutes.tsx | 6 +-- .../src/screens/Console/Account/Account.tsx | 5 ++- .../Account/AddServiceAccountScreen.tsx | 5 ++- .../Console/Account/ChangePasswordModal.tsx | 5 ++- .../Account/ChangeUserPasswordModal.tsx | 5 ++- .../Console/Account/DeleteServiceAccount.tsx | 5 ++- .../Console/Account/ServiceAccountPolicy.tsx | 5 ++- .../BucketDetails/AccessDetailsPanel.tsx | 5 ++- .../Buckets/BucketDetails/AccessRulePanel.tsx | 5 ++- .../Buckets/BucketDetails/AddAccessRule.tsx | 5 ++- .../BucketDetails/AddBucketTagModal.tsx | 5 ++- .../Buckets/BucketDetails/AddEvent.tsx | 5 ++- .../BucketDetails/AddLifecycleModal.tsx | 5 ++- .../BucketDetails/AddReplicationModal.tsx | 5 ++- .../Buckets/BucketDetails/BrowserHandler.tsx | 6 +-- .../Buckets/BucketDetails/BucketDetails.tsx | 5 ++- .../BucketDetails/BucketEventsPanel.tsx | 5 ++- .../BucketDetails/BucketReplicationPanel.tsx | 5 ++- .../BucketDetails/BucketSummaryPanel.tsx | 5 ++- .../BucketDetails/DeleteAccessRule.tsx | 5 ++- .../DeleteBucketLifecycleRule.tsx | 5 ++- .../BucketDetails/DeleteBucketTagModal.tsx | 5 ++- .../Buckets/BucketDetails/DeleteEvent.tsx | 5 ++- .../BucketDetails/DeleteReplicationRule.tsx | 5 ++- .../Buckets/BucketDetails/EditAccessRule.tsx | 5 ++- .../EditLifecycleConfiguration.tsx | 5 ++- .../BucketDetails/EditReplicationModal.tsx | 4 +- .../BucketDetails/EnableBucketEncryption.tsx | 5 ++- .../Buckets/BucketDetails/EnableQuota.tsx | 5 ++- .../BucketDetails/EnableVersioningModal.tsx | 5 ++- .../Buckets/BucketDetails/SetAccessPolicy.tsx | 5 ++- .../BucketDetails/SetRetentionConfig.tsx | 5 ++- .../BucketDetails/SummaryItems/BucketTags.tsx | 5 ++- .../ListBuckets/AddBucket/AddBucket.tsx | 6 +-- .../ListBuckets/AddBucket/AddBucketName.tsx | 6 +-- .../ListBuckets/BulkLifecycleModal.tsx | 5 ++- .../ListBuckets/BulkReplicationModal.tsx | 5 ++- .../Buckets/ListBuckets/DeleteBucket.tsx | 5 ++- .../Buckets/ListBuckets/ListBuckets.tsx | 5 ++- .../Objects/ListObjects/CreatePathModal.tsx | 6 +-- .../ListObjects/DeleteMultipleObjects.tsx | 5 ++- .../Objects/ListObjects/DeleteNonCurrent.tsx | 5 ++- .../Objects/ListObjects/DeleteObject.tsx | 5 ++- .../Objects/ListObjects/InspectObject.tsx | 5 ++- .../Objects/ListObjects/ListObjects.tsx | 6 +-- .../Objects/ListObjects/ObjectDetailPanel.tsx | 6 +-- .../Objects/ListObjects/RewindEnable.tsx | 6 +-- .../ObjectDetails/DeleteSelectedVersions.tsx | 5 ++- .../ObjectDetails/RestoreFileVersion.tsx | 5 ++- .../ObjectDetails/SetLegalHoldModal.tsx | 5 ++- .../Objects/ObjectDetails/SetRetention.tsx | 5 ++- .../Objects/ObjectDetails/ShareFile.tsx | 5 ++- .../Objects/ObjectDetails/TagsModal.tsx | 5 ++- .../ObjectDetails/VersionsNavigator.tsx | 6 +-- .../Console/Common/MainError/MainError.tsx | 6 +-- .../Common/ModalWrapper/ModalWrapper.tsx | 6 +-- .../Common/ObjectManager/ObjectManager.tsx | 6 +-- .../Console/Common/PageHeader/PageHeader.tsx | 6 +-- .../SiteReplication/AddReplicationSites.tsx | 5 ++- .../SiteReplication/ReplicationSites.tsx | 5 ++- .../SiteReplication/SiteReplication.tsx | 5 ++- .../AddTierConfiguration.tsx | 5 ++- .../ListTiersConfiguration.tsx | 5 ++- .../UpdateTierCredentialsModal.tsx | 5 ++- portal-ui/src/screens/Console/Console.tsx | 6 +-- .../screens/Console/Dashboard/Dashboard.tsx | 5 ++- .../Dashboard/Prometheus/PrDashboard.tsx | 6 +-- .../Prometheus/Widgets/BarChartWidget.tsx | 5 ++- .../Prometheus/Widgets/CapacityItem.tsx | 4 +- .../Widgets/EntityStateStatItem.tsx | 5 ++- .../Prometheus/Widgets/ExpandGraphLink.tsx | 5 ++- .../Prometheus/Widgets/LinearGraphWidget.tsx | 5 ++- .../Prometheus/Widgets/PieChartWidget.tsx | 5 ++- .../Prometheus/Widgets/SimpleWidget.tsx | 5 ++- .../Prometheus/Widgets/SingleRepWidget.tsx | 6 +-- .../Prometheus/Widgets/SingleValueWidget.tsx | 6 +-- .../Dashboard/Prometheus/ZoomWidget.tsx | 5 ++- .../screens/Console/Groups/AddGroupMember.tsx | 4 +- .../screens/Console/Groups/AddGroupScreen.tsx | 5 ++- .../screens/Console/Groups/DeleteGroup.tsx | 5 ++- .../src/screens/Console/Groups/Groups.tsx | 5 ++- .../screens/Console/Groups/GroupsDetails.tsx | 4 +- .../screens/Console/Groups/UsersSelectors.tsx | 5 ++- .../screens/Console/HealthInfo/HealthInfo.tsx | 6 +-- .../Console/License/ActivationModal.tsx | 5 ++- .../Console/Logs/ErrorLogs/ErrorLogs.tsx | 6 +-- .../Console/Logs/LogSearch/LogsSearchMain.tsx | 5 ++- portal-ui/src/screens/Console/Menu/Menu.tsx | 6 +-- .../src/screens/Console/Menu/MenuToggle.tsx | 6 +-- .../AddNotificationEndpoint.tsx | 5 ++- .../CustomForms/EditConfiguration.tsx | 5 ++- .../CustomForms/ResetConfigurationModal.tsx | 5 ++- .../ListNotificationEndpoints.tsx | 5 ++- .../ObjectBrowser/BrowserBreadcrumbs.tsx | 6 +-- .../Console/Policies/AddPolicyScreen.tsx | 40 +++---------------- .../screens/Console/Policies/DeletePolicy.tsx | 5 ++- .../screens/Console/Policies/ListPolicies.tsx | 5 ++- .../Console/Policies/PolicyDetails.tsx | 5 ++- .../Console/Policies/PolicySelectors.tsx | 5 ++- .../screens/Console/Policies/SetPolicy.tsx | 5 ++- .../src/screens/Console/Support/Register.tsx | 5 ++- .../Console/Tenants/AddTenant/AddTenant.tsx | 6 +-- .../Tenants/AddTenant/CreateTenantButton.tsx | 6 +-- .../AddTenant/NewTenantCredentials.tsx | 6 +-- .../Tenants/AddTenant/Steps/Affinity.tsx | 6 +-- .../AddTenant/Steps/ConfigLogSearch.tsx | 6 +-- .../AddTenant/Steps/ConfigPrometheus.tsx | 6 +-- .../Tenants/AddTenant/Steps/Configure.tsx | 6 +-- .../Tenants/AddTenant/Steps/Encryption.tsx | 6 +-- .../AddTenant/Steps/Encryption/AWSKMSAdd.tsx | 6 +-- .../Steps/Encryption/AzureKMSAdd.tsx | 6 +-- .../AddTenant/Steps/Encryption/GCPKMSAdd.tsx | 6 +-- .../Steps/Encryption/GemaltoKMSAdd.tsx | 6 +-- .../Steps/Encryption/VaultKMSAdd.tsx | 6 +-- .../AddTenant/Steps/IdentityProvider.tsx | 6 +-- .../IdentityProvider/IDPActiveDirectory.tsx | 6 +-- .../Steps/IdentityProvider/IDPBuiltIn.tsx | 6 +-- .../Steps/IdentityProvider/IDPOpenID.tsx | 6 +-- .../Tenants/AddTenant/Steps/Images.tsx | 6 +-- .../Tenants/AddTenant/Steps/Security.tsx | 6 +-- .../Steps/TenantResources/NameTenantMain.tsx | 8 ++-- .../TenantResources/NamespaceSelector.tsx | 6 +-- .../Steps/TenantResources/TenantSize.tsx | 6 +-- .../Steps/TenantResources/TenantSizeMK.tsx | 6 +-- .../TenantResources/TenantSizeResources.tsx | 6 +-- .../Steps/helpers/AddNamespaceModal.tsx | 6 +-- .../Tenants/ListTenants/DeleteTenant.tsx | 4 +- .../Tenants/ListTenants/ListTenants.tsx | 5 ++- .../Tenants/ListTenants/TenantListItem.tsx | 5 ++- .../Tenants/TenantDetails/DeletePVC.tsx | 5 ++- .../Tenants/TenantDetails/DeletePod.tsx | 4 +- .../Tenants/TenantDetails/EditDomains.tsx | 5 ++- .../TenantDetails/EditTenantLogsModal.tsx | 5 ++- .../EditTenantMonitoringModal.tsx | 5 ++- .../Tenants/TenantDetails/PodsSummary.tsx | 6 +-- .../TenantDetails/Pools/AddPool/AddPool.tsx | 6 +-- .../Pools/AddPool/AddPoolCreateButton.tsx | 6 +-- .../Pools/AddPool/PoolConfiguration.tsx | 6 +-- .../Pools/AddPool/PoolPodPlacement.tsx | 6 +-- .../Pools/AddPool/PoolResources.tsx | 6 +-- .../Pools/Details/PoolsListing.tsx | 6 +-- .../TenantDetails/Pools/EditPool/EditPool.tsx | 6 +-- .../Pools/EditPool/EditPoolButton.tsx | 6 +-- .../Pools/EditPool/EditPoolConfiguration.tsx | 6 +-- .../Pools/EditPool/EditPoolPlacement.tsx | 6 +-- .../Pools/EditPool/EditPoolResources.tsx | 6 +-- .../Tenants/TenantDetails/PoolsSummary.tsx | 6 +-- .../Tenants/TenantDetails/TenantCSR.tsx | 6 +-- .../Tenants/TenantDetails/TenantDetails.tsx | 6 +-- .../TenantDetails/TenantEncryption.tsx | 6 +-- .../Tenants/TenantDetails/TenantEvents.tsx | 6 +-- .../TenantDetails/TenantIdentityProvider.tsx | 6 +-- .../Tenants/TenantDetails/TenantLicense.tsx | 6 +-- .../Tenants/TenantDetails/TenantLogging.tsx | 6 +-- .../TenantDetails/TenantMonitoring.tsx | 6 +-- .../Tenants/TenantDetails/TenantSecurity.tsx | 6 +-- .../Tenants/TenantDetails/TenantSummary.tsx | 6 +-- .../Tenants/TenantDetails/TenantYAML.tsx | 6 +-- .../TenantDetails/UpdateTenantModal.tsx | 5 ++- .../Tenants/TenantDetails/VolumesSummary.tsx | 6 +-- .../TenantDetails/pods/PodDescribe.tsx | 6 +-- .../Tenants/TenantDetails/pods/PodEvents.tsx | 6 +-- .../Tenants/TenantDetails/pods/PodLogs.tsx | 6 +-- .../TenantDetails/pvcs/PVCDescribe.tsx | 6 +-- .../TenantDetails/pvcs/TenantVolumes.tsx | 5 ++- .../src/screens/Console/Tools/Inspect.tsx | 5 ++- portal-ui/src/screens/Console/Trace/Trace.tsx | 6 +-- .../screens/Console/Users/AddUserScreen.tsx | 4 +- .../Users/AddUserServiceAccountScreen.tsx | 5 ++- .../screens/Console/Users/BulkAddToGroup.tsx | 5 ++- .../Console/Users/ChangeUserGroups.tsx | 5 ++- .../Users/DeleteMultipleServiceAccounts.tsx | 5 ++- .../screens/Console/Users/DeleteUserModal.tsx | 5 ++- .../screens/Console/Users/GroupsSelectors.tsx | 5 ++- .../src/screens/Console/Users/ListUsers.tsx | 5 ++- .../screens/Console/Users/SetUserPolicies.tsx | 5 ++- .../src/screens/Console/Users/UserDetails.tsx | 5 ++- .../Users/UserServiceAccountsPanel.tsx | 5 ++- portal-ui/src/screens/Console/Watch/Watch.tsx | 6 +-- portal-ui/src/screens/LoginPage/LoginPage.tsx | 5 ++- portal-ui/src/store.ts | 4 +- 181 files changed, 539 insertions(+), 473 deletions(-) diff --git a/portal-ui/src/ProtectedRoutes.tsx b/portal-ui/src/ProtectedRoutes.tsx index 240c781fb5..fb3895055b 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 6da2f3b758..4c00c15be3 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 49a8f12af5..5c257e5e56 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 f99446b922..8359f751e5 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 764c6011b2..df22b4abd3 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 e50e00d575..f260ef4496 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 c34cf2b2d0..21657194de 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 d4d456f8c6..30034c12ec 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 e8a0522219..3914e4bbb2 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 48168a65be..035960130b 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 70a5d95744..90ba4b9044 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 691b0068f3..52bdf7b4d1 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 c86ffcb236..6b366fc238 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 b29eef4d8e..83724879f3 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 d03819e07e..1cbb18c53c 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 c1e8a7598f..63cf881cd8 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 6c8acc7462..bab477377e 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 7f4f82b4ed..5b63eea0f6 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 dbbe7234b8..1aaa19c2e2 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 6d946d43ae..7688ab8a7b 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 ad65dfdeb3..2a3d630b40 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 dd64ec07f2..83c24166e3 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 aa029b5aa4..6edadc5734 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 917da57cf4..a6ab20d39b 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 98a3095cfb..1cb825a3b8 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 0ac593784d..f5d570f427 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 ca9eb9f831..1a9ea21fa7 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 8b1de69cb3..680072d0f6 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 c497288bff..cff1c85c3d 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 710a6f0959..202fc74c70 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 4437f19f3e..62b90231ea 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 147199ebef..b6e1126027 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 41fdfcadc5..6b81bd7c1f 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 5e50ddd6f4..5cd641c04e 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 05e104c4f5..969f72f3c8 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 7294a7a734..f62d8b3536 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 9ef6487d7d..dae5b8449d 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 4cdd1c6ae6..48821b8845 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 4c9026ea57..4bdc2fd9df 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 3165678a67..dd58eda2b8 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 3d809fcbd9..1d2f02fcf7 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 d8b41840b1..9e3b20b460 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 25a20cba78..aec4ad861a 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 12bbccc67b..32b55dc711 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 3f35151438..5bd36dd789 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 262c42a13f..9a2ca0d440 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 dffefaf7ea..6252f72532 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 019c43b8e9..2b2662da26 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 fcb110cbaf..335af80893 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 59ff49b6b6..1192dce3ec 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 8cedfff730..16a664deb4 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 71e5c76ead..ff7efb26f4 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 0e3ff65718..b6dfc66468 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 ceb363cdcd..c4c8f21739 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 5c4ea87271..46eb2ca745 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 cc642d2058..bf63622e6b 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 be0b52fc7a..c3ae4ba7f7 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 a7cffc081c..9b52e39c9f 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 9de303f82c..af09cdc63b 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 85c07a23cb..4abd5f5571 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 ea29bd3e49..c9a5f87d04 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 61fc35b111..4121faaacf 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 e69ff3976e..610e593699 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 38063aac68..3ff825e3ee 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 92ec1a00b3..15a0eee828 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 0abdfc6ef2..8d90de65e0 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 22ecaefff0..55ffd564d4 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 19763da795..e4083d9b62 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 d7ecdfb5be..967b532b5c 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 6149801cf9..9b078e33b2 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 49a07e70c5..3b90e2238d 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([]); const [dataMax, setDataMax] = useState(0); diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/PieChartWidget.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/PieChartWidget.tsx index 73cd029673..21deae5079 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/PieChartWidget.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/PieChartWidget.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { 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"; @@ -30,6 +30,7 @@ import get from "lodash/get"; import api from "../../../../../common/api"; import Loader from "../../../Common/Loader/Loader"; import { setErrorSnackMessage } from "../../../../../systemSlice"; +import { useAppDispatch } from "../../../../../store"; interface IPieChartWidget { classes: any; @@ -77,7 +78,7 @@ const PieChartWidget = ({ apiPrefix, }: IPieChartWidget) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const [loading, setLoading] = useState(true); const [dataInner, setDataInner] = useState([]); const [dataOuter, setDataOuter] = useState([]); diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SimpleWidget.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SimpleWidget.tsx index 75cd8c8420..c033911b9b 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SimpleWidget.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SimpleWidget.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { Fragment, useEffect, useState } from "react"; -import { connect, useDispatch } from "react-redux"; +import { connect } from "react-redux"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; @@ -26,6 +26,7 @@ import { IDashboardPanel } from "../types"; import { ErrorResponseHandler } from "../../../../../common/types"; import Loader from "../../../Common/Loader/Loader"; import { setErrorSnackMessage } from "../../../../../systemSlice"; +import { useAppDispatch } from "../../../../../store"; interface ISimpleWidget { classes: any; @@ -74,7 +75,7 @@ const SimpleWidget = ({ apiPrefix, renderFn, }: ISimpleWidget) => { - 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/SingleRepWidget.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SingleRepWidget.tsx index 81eafe3e30..b004611277 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SingleRepWidget.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SingleRepWidget.tsx @@ -15,8 +15,7 @@ // along with this program. If not, see . import React, { useEffect, useState } from "react"; -import { connect, useDispatch } from "react-redux"; - +import { connect } from "react-redux"; import { IDashboardPanel } from "../types"; import { widgetDetailsToPanel } from "../utils"; import { ErrorResponseHandler } from "../../../../../common/types"; @@ -26,6 +25,7 @@ import DashboardItemBox from "../../DashboardItemBox"; import BucketsCountItem from "./BucketsCountItem"; import ObjectsCountItem from "./ObjectsCountItem"; import { setErrorSnackMessage } from "../../../../../systemSlice"; +import { useAppDispatch } from "../../../../../store"; interface ISingleRepWidget { title: string; @@ -48,7 +48,7 @@ const SingleRepWidget = ({ apiPrefix, }: ISingleRepWidget) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const [loading, setLoading] = useState(true); const [result, setResult] = useState(null); diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SingleValueWidget.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SingleValueWidget.tsx index c65bf1ab2d..edb9e8da19 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SingleValueWidget.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SingleValueWidget.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { Fragment, useEffect, useState } from "react"; -import { connect, useDispatch } from "react-redux"; +import { connect } from "react-redux"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; @@ -24,9 +24,9 @@ import Loader from "../../../Common/Loader/Loader"; import { widgetCommon } from "../../../Common/FormComponents/common/styleLibrary"; import { splitSizeMetric, widgetDetailsToPanel } from "../utils"; import { IDashboardPanel } from "../types"; - import { ErrorResponseHandler } from "../../../../../common/types"; import { setErrorSnackMessage } from "../../../../../systemSlice"; +import { useAppDispatch } from "../../../../../store"; interface ISingleValueWidget { title: string; @@ -81,7 +81,7 @@ const SingleValueWidget = ({ apiPrefix, renderFn, }: ISingleValueWidget) => { - 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/ZoomWidget.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/ZoomWidget.tsx index 1cf6a20507..5c6867a054 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/ZoomWidget.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/ZoomWidget.tsx @@ -15,11 +15,12 @@ // along with this program. If not, see . import React, { Fragment } from "react"; -import { useDispatch } from "react-redux"; + import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper"; import { IDashboardPanel } from "./types"; import { componentToUse } from "./widgetUtils"; import { closeZoomPage } from "../dashboardSlice"; +import { useAppDispatch } from "../../../../store"; interface IZoomWidget { widgetRender: number; @@ -37,7 +38,7 @@ const ZoomWidget = ({ timeEnd, apiPrefix, }: IZoomWidget) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); if (!value) { return null; } diff --git a/portal-ui/src/screens/Console/Groups/AddGroupMember.tsx b/portal-ui/src/screens/Console/Groups/AddGroupMember.tsx index ff11b38c19..c7ddc08ecc 100644 --- a/portal-ui/src/screens/Console/Groups/AddGroupMember.tsx +++ b/portal-ui/src/screens/Console/Groups/AddGroupMember.tsx @@ -7,7 +7,6 @@ import { Button } from "@mui/material"; import api from "../../../common/api"; import { ErrorResponseHandler } from "../../../common/types"; -import { useDispatch } from "react-redux"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import { @@ -19,6 +18,7 @@ import withStyles from "@mui/styles/withStyles"; import { AddMembersToGroupIcon } from "../../../icons"; import { encodeURLString } from "../../../common/utils"; import { setModalErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; type UserPickerModalProps = { classes?: any; @@ -53,7 +53,7 @@ const AddGroupMember = ({ open, onClose, }: UserPickerModalProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const [selectedUsers, setSelectedUsers] = useState(preSelectedUsers); function addMembersToGroup() { diff --git a/portal-ui/src/screens/Console/Groups/AddGroupScreen.tsx b/portal-ui/src/screens/Console/Groups/AddGroupScreen.tsx index 091c56102c..8bb29747a4 100644 --- a/portal-ui/src/screens/Console/Groups/AddGroupScreen.tsx +++ b/portal-ui/src/screens/Console/Groups/AddGroupScreen.tsx @@ -31,7 +31,7 @@ import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWr import AddGroupHelpBox from "./AddGroupHelpBox"; import UsersSelectors from "./UsersSelectors"; import BackLink from "../../../common/BackLink"; -import { useDispatch } from "react-redux"; + import { CreateGroupIcon } from "../../../icons"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; import { ErrorResponseHandler } from "../../../../src/common/types"; @@ -39,6 +39,7 @@ import api from "../../../../src/common/api"; import FormLayout from "../Common/FormLayout"; import { setErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; interface IAddGroupProps { classes: any; @@ -64,7 +65,7 @@ const styles = (theme: Theme) => }); const AddGroupScreen = ({ classes }: IAddGroupProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const [groupName, setGroupName] = useState(""); const [saving, isSaving] = useState(false); diff --git a/portal-ui/src/screens/Console/Groups/DeleteGroup.tsx b/portal-ui/src/screens/Console/Groups/DeleteGroup.tsx index b993ad5258..9fb4bf8a7f 100644 --- a/portal-ui/src/screens/Console/Groups/DeleteGroup.tsx +++ b/portal-ui/src/screens/Console/Groups/DeleteGroup.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"; @@ -24,6 +24,7 @@ import useApi from "../Common/Hooks/useApi"; import { ConfirmDeleteIcon } from "../../../icons"; import { encodeURLString } from "../../../common/utils"; import { setErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; interface IDeleteGroup { selectedGroups: string[]; @@ -36,7 +37,7 @@ const DeleteGroup = ({ deleteOpen, closeDeleteModalAndRefresh, }: IDeleteGroup) => { - 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/Groups/Groups.tsx b/portal-ui/src/screens/Console/Groups/Groups.tsx index 18d5606114..150bf43d60 100644 --- a/portal-ui/src/screens/Console/Groups/Groups.tsx +++ b/portal-ui/src/screens/Console/Groups/Groups.tsx @@ -58,8 +58,9 @@ import { import withSuspense from "../Common/Components/withSuspense"; import RBIconButton from "../Buckets/BucketDetails/SummaryItems/RBIconButton"; import { encodeURLString } from "../../../common/utils"; -import { useDispatch } from "react-redux"; + import { setErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; const DeleteGroup = withSuspense(React.lazy(() => import("./DeleteGroup"))); const SetPolicy = withSuspense( @@ -87,7 +88,7 @@ const styles = (theme: Theme) => }); const Groups = ({ classes }: IGroupsProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const [deleteOpen, setDeleteOpen] = useState(false); diff --git a/portal-ui/src/screens/Console/Groups/GroupsDetails.tsx b/portal-ui/src/screens/Console/Groups/GroupsDetails.tsx index 261a60c205..5eddf4a6a7 100644 --- a/portal-ui/src/screens/Console/Groups/GroupsDetails.tsx +++ b/portal-ui/src/screens/Console/Groups/GroupsDetails.tsx @@ -10,7 +10,6 @@ import { tableStyles, } from "../Common/FormComponents/common/styleLibrary"; -import { useDispatch } from "react-redux"; import withStyles from "@mui/styles/withStyles"; import { Grid } from "@mui/material"; import ScreenTitle from "../Common/ScreenTitle/ScreenTitle"; @@ -44,6 +43,7 @@ import GroupDetailsHeader from "./GroupDetailsHeader"; import RBIconButton from "../Buckets/BucketDetails/SummaryItems/RBIconButton"; import { decodeURLString, encodeURLString } from "../../../common/utils"; import { setModalErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; const styles = (theme: Theme) => createStyles({ @@ -107,7 +107,7 @@ export const formatPolicy = (policy: string = ""): string[] => { }; const GroupsDetails = ({ classes }: IGroupDetailsProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const params = useParams(); diff --git a/portal-ui/src/screens/Console/Groups/UsersSelectors.tsx b/portal-ui/src/screens/Console/Groups/UsersSelectors.tsx index a723e47dcc..82f1bf4893 100644 --- a/portal-ui/src/screens/Console/Groups/UsersSelectors.tsx +++ b/portal-ui/src/screens/Console/Groups/UsersSelectors.tsx @@ -34,8 +34,9 @@ import { ErrorResponseHandler } from "../../../common/types"; import api from "../../../common/api"; import TableWrapper from "../Common/TableWrapper/TableWrapper"; import SearchBox from "../Common/SearchBox"; -import { useDispatch } from "react-redux"; + import { setModalErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; interface IGroupsProps { classes: any; @@ -83,7 +84,7 @@ const UsersSelectors = ({ setSelectedUsers, editMode = false, }: IGroupsProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); //Local States const [records, setRecords] = useState([]); const [loading, isLoading] = useState(false); diff --git a/portal-ui/src/screens/Console/HealthInfo/HealthInfo.tsx b/portal-ui/src/screens/Console/HealthInfo/HealthInfo.tsx index fcc81faa48..2609c0fdcd 100644 --- a/portal-ui/src/screens/Console/HealthInfo/HealthInfo.tsx +++ b/portal-ui/src/screens/Console/HealthInfo/HealthInfo.tsx @@ -19,8 +19,8 @@ import { IMessageEvent, w3cwebsocket as W3CWebSocket, } from "websocket"; -import { AppState } from "../../../store"; -import { useDispatch, useSelector } from "react-redux"; +import { AppState, useAppDispatch } from "../../../store"; +import { useSelector } from "react-redux"; import { DiagStatError, DiagStatInProgress, @@ -96,7 +96,7 @@ interface IHealthInfo { } const HealthInfo = ({ classes }: IHealthInfo) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const message = useSelector((state: AppState) => state.healthInfo.message); diff --git a/portal-ui/src/screens/Console/License/ActivationModal.tsx b/portal-ui/src/screens/Console/License/ActivationModal.tsx index 7d613131d8..33bc64683c 100644 --- a/portal-ui/src/screens/Console/License/ActivationModal.tsx +++ b/portal-ui/src/screens/Console/License/ActivationModal.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { Fragment, 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"; @@ -45,6 +45,7 @@ import LockOutlinedIcon from "@mui/icons-material/LockOutlined"; import RadioGroupSelector from "../Common/FormComponents/RadioGroupSelector/RadioGroupSelector"; import Link from "@mui/material/Link"; import { setModalErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; const styles = (theme: Theme) => createStyles({ @@ -82,7 +83,7 @@ interface IActivationModal { } const ActivationModal = ({ classes, open, closeModal }: IActivationModal) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const [license, setLicense] = useState(""); const [subnetPassword, setSubnetPassword] = useState(""); const [subnetEmail, setSubnetEmail] = useState(""); diff --git a/portal-ui/src/screens/Console/Logs/ErrorLogs/ErrorLogs.tsx b/portal-ui/src/screens/Console/Logs/ErrorLogs/ErrorLogs.tsx index b3980f75ef..13aa55bfeb 100644 --- a/portal-ui/src/screens/Console/Logs/ErrorLogs/ErrorLogs.tsx +++ b/portal-ui/src/screens/Console/Logs/ErrorLogs/ErrorLogs.tsx @@ -18,7 +18,7 @@ import { IMessageEvent, w3cwebsocket as W3CWebSocket } from "websocket"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; -import { useDispatch, useSelector } from "react-redux"; +import { useSelector } from "react-redux"; import { Button, FormControl, @@ -31,7 +31,7 @@ import { import moment from "moment/moment"; import { ErrorResponseHandler } from "../../../../../src/common/types"; import api from "../../../../../src/common/api"; -import { AppState } from "../../../../store"; +import { AppState, useAppDispatch } from "../../../../store"; import { LogMessage } from "../types"; import { wsProtocol } from "../../../../utils/wsUtils"; @@ -108,7 +108,7 @@ const SelectStyled = withStyles((theme: Theme) => var c: any = null; const ErrorLogs = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const classes = useStyles(); const messages = useSelector((state: AppState) => state.logs.logMessages); diff --git a/portal-ui/src/screens/Console/Logs/LogSearch/LogsSearchMain.tsx b/portal-ui/src/screens/Console/Logs/LogSearch/LogsSearchMain.tsx index 2000cd8bd3..a7fc4a46dc 100644 --- a/portal-ui/src/screens/Console/Logs/LogSearch/LogsSearchMain.tsx +++ b/portal-ui/src/screens/Console/Logs/LogSearch/LogsSearchMain.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 get from "lodash/get"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; @@ -48,6 +48,7 @@ import { SearchIcon } from "../../../../icons"; import MissingIntegration from "../../Common/MissingIntegration/MissingIntegration"; import { setErrorSnackMessage } from "../../../../systemSlice"; import { selFeatures } from "../../consoleSlice"; +import { useAppDispatch } from "../../../../store"; interface ILogSearchProps { classes: any; @@ -120,7 +121,7 @@ const styles = (theme: Theme) => }); const LogsSearchMain = ({ classes }: ILogSearchProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const features = useSelector(selFeatures); const [loading, setLoading] = useState(true); diff --git a/portal-ui/src/screens/Console/Menu/Menu.tsx b/portal-ui/src/screens/Console/Menu/Menu.tsx index 7c069bb9af..b348e155cd 100644 --- a/portal-ui/src/screens/Console/Menu/Menu.tsx +++ b/portal-ui/src/screens/Console/Menu/Menu.tsx @@ -15,14 +15,14 @@ // along with this program. If not, see . import React from "react"; -import { useDispatch, useSelector } from "react-redux"; +import { useSelector } from "react-redux"; import { useNavigate } from "react-router-dom"; import { Drawer } from "@mui/material"; import withStyles from "@mui/styles/withStyles"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import clsx from "clsx"; -import { AppState } from "../../../store"; +import { AppState, useAppDispatch } from "../../../store"; import { ErrorResponseHandler } from "../../../common/types"; import { clearSession } from "../../../common/utils"; @@ -90,7 +90,7 @@ interface IMenuProps { } const Menu = ({ classes }: IMenuProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const features = useSelector(selFeatures); diff --git a/portal-ui/src/screens/Console/Menu/MenuToggle.tsx b/portal-ui/src/screens/Console/Menu/MenuToggle.tsx index 1ad7c8d22c..38d199d97a 100644 --- a/portal-ui/src/screens/Console/Menu/MenuToggle.tsx +++ b/portal-ui/src/screens/Console/Menu/MenuToggle.tsx @@ -21,10 +21,10 @@ import { Box, IconButton } from "@mui/material"; import { ChevronLeft } from "@mui/icons-material"; import MenuIcon from "@mui/icons-material/Menu"; import LicensedConsoleLogo from "../Common/Components/LicensedConsoleLogo"; -import { useDispatch, useSelector } from "react-redux"; +import { useSelector } from "react-redux"; import useApi from "../Common/Hooks/useApi"; import { setLicenseInfo } from "../../../systemSlice"; -import { AppState } from "../../../store"; +import { AppState, useAppDispatch } from "../../../store"; type MenuToggleProps = { isOpen: boolean; @@ -33,7 +33,7 @@ type MenuToggleProps = { const MenuToggle = ({ isOpen, onToggle }: MenuToggleProps) => { const stateClsName = isOpen ? "wide" : "mini"; - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const licenseInfo = useSelector( (state: AppState) => state?.system?.licenseInfo diff --git a/portal-ui/src/screens/Console/NotificationEndpoints/AddNotificationEndpoint.tsx b/portal-ui/src/screens/Console/NotificationEndpoints/AddNotificationEndpoint.tsx index 32e6fae675..22fc780d9d 100644 --- a/portal-ui/src/screens/Console/NotificationEndpoints/AddNotificationEndpoint.tsx +++ b/portal-ui/src/screens/Console/NotificationEndpoints/AddNotificationEndpoint.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 Grid from "@mui/material/Grid"; import { Theme } from "@mui/material/styles"; @@ -49,6 +49,7 @@ import { setServerNeedsRestart, } from "../../../systemSlice"; import { useNavigate, useParams } from "react-router-dom"; +import { useAppDispatch } from "../../../store"; const ConfMySql = withSuspense( React.lazy(() => import("./CustomForms/ConfMySql")) @@ -114,7 +115,7 @@ const AddNotificationEndpoint = ({ saveAndRefresh, classes, }: IAddNotificationEndpointProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const params = useParams(); diff --git a/portal-ui/src/screens/Console/NotificationEndpoints/CustomForms/EditConfiguration.tsx b/portal-ui/src/screens/Console/NotificationEndpoints/CustomForms/EditConfiguration.tsx index e749666f87..1b78c3c21f 100644 --- a/portal-ui/src/screens/Console/NotificationEndpoints/CustomForms/EditConfiguration.tsx +++ b/portal-ui/src/screens/Console/NotificationEndpoints/CustomForms/EditConfiguration.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 } from "react-router-dom"; import get from "lodash/get"; import { Theme } from "@mui/material/styles"; @@ -44,6 +44,7 @@ import { setErrorSnackMessage, setServerNeedsRestart, } from "../../../../systemSlice"; +import { useAppDispatch } from "../../../../store"; const styles = (theme: Theme) => createStyles({ @@ -67,7 +68,7 @@ const EditConfiguration = ({ classes, className = "", }: IAddNotificationEndpointProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); //Local States diff --git a/portal-ui/src/screens/Console/NotificationEndpoints/CustomForms/ResetConfigurationModal.tsx b/portal-ui/src/screens/Console/NotificationEndpoints/CustomForms/ResetConfigurationModal.tsx index 66f659b452..1ac28db3f8 100644 --- a/portal-ui/src/screens/Console/NotificationEndpoints/CustomForms/ResetConfigurationModal.tsx +++ b/portal-ui/src/screens/Console/NotificationEndpoints/CustomForms/ResetConfigurationModal.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, LinearProgress } from "@mui/material"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; @@ -27,6 +27,7 @@ import api from "../../../../common/api"; import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog"; import { ConfirmDeleteIcon } from "../../../../icons"; import { setErrorSnackMessage } from "../../../../systemSlice"; +import { useAppDispatch } from "../../../../store"; const styles = (theme: Theme) => createStyles({ @@ -52,7 +53,7 @@ const ResetConfigurationModal = ({ closeResetModalAndRefresh, resetOpen, }: IResetConfiguration) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const [resetLoading, setResetLoading] = useState(false); useEffect(() => { diff --git a/portal-ui/src/screens/Console/NotificationEndpoints/ListNotificationEndpoints.tsx b/portal-ui/src/screens/Console/NotificationEndpoints/ListNotificationEndpoints.tsx index a2070e4b8a..cfa64568d0 100644 --- a/portal-ui/src/screens/Console/NotificationEndpoints/ListNotificationEndpoints.tsx +++ b/portal-ui/src/screens/Console/NotificationEndpoints/ListNotificationEndpoints.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"; @@ -50,6 +50,7 @@ import SearchBox from "../Common/SearchBox"; import RBIconButton from "../Buckets/BucketDetails/SummaryItems/RBIconButton"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; import { setErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; interface IListNotificationEndpoints { classes: any; @@ -80,7 +81,7 @@ const styles = (theme: Theme) => }); const ListNotificationEndpoints = ({ classes }: IListNotificationEndpoints) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); //Local States const [records, setRecords] = useState([]); diff --git a/portal-ui/src/screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx b/portal-ui/src/screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx index c07820f736..bda07372a0 100644 --- a/portal-ui/src/screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx +++ b/portal-ui/src/screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { Fragment, useState } from "react"; -import { useDispatch, useSelector } from "react-redux"; +import { useSelector } from "react-redux"; import CopyToClipboard from "react-copy-to-clipboard"; import Grid from "@mui/material/Grid"; import withStyles from "@mui/styles/withStyles"; @@ -31,7 +31,7 @@ import { IAM_SCOPES } from "../../../common/SecureComponent/permissions"; import { BucketObjectItem } from "../Buckets/ListBuckets/Objects/ListObjects/types"; import withSuspense from "../Common/Components/withSuspense"; import { setSnackBarMessage } from "../../../systemSlice"; -import { AppState } from "../../../store"; +import { AppState, useAppDispatch } from "../../../store"; import { setVersionsModeEnabled } from "./objectBrowserSlice"; import RBIconButton from "../Buckets/BucketDetails/SummaryItems/RBIconButton"; @@ -66,7 +66,7 @@ const BrowserBreadcrumbs = ({ hidePathButton, additionalOptions, }: IObjectBrowser) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const rewindEnabled = useSelector( diff --git a/portal-ui/src/screens/Console/Policies/AddPolicyScreen.tsx b/portal-ui/src/screens/Console/Policies/AddPolicyScreen.tsx index 174865a646..861caaf357 100644 --- a/portal-ui/src/screens/Console/Policies/AddPolicyScreen.tsx +++ b/portal-ui/src/screens/Console/Policies/AddPolicyScreen.tsx @@ -15,13 +15,6 @@ // along with this program. If not, see . import React, { Fragment, useState } from "react"; -import { Theme } from "@mui/material/styles"; -import createStyles from "@mui/styles/createStyles"; -import withStyles from "@mui/styles/withStyles"; -import { - formFieldStyles, - modalStyleUtils, -} from "../Common/FormComponents/common/styleLibrary"; import Grid from "@mui/material/Grid"; import { Box, Button } from "@mui/material"; import PageHeader from "../Common/PageHeader/PageHeader"; @@ -30,40 +23,17 @@ import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWr import AddPolicyHelpBox from "./AddPolicyHelpBox"; import CodeMirrorWrapper from "../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper"; import BackLink from "../../../common/BackLink"; -import { useDispatch } from "react-redux"; import { AddAccessRuleIcon } from "../../../icons"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; -import { ErrorResponseHandler } from "../../../../src/common/types"; +import { ErrorResponseHandler } from "../../../common/types"; import api from "../../../../src/common/api"; import FormLayout from "../Common/FormLayout"; import { setErrorSnackMessage } from "../../../systemSlice"; import { useNavigate } from "react-router-dom"; +import { useAppDispatch } from "../../../store"; -interface IAddPolicyProps { - classes: any; -} - -const styles = (theme: Theme) => - createStyles({ - bottomContainer: { - display: "flex", - flexGrow: 1, - alignItems: "center", - margin: "auto", - justifyContent: "center", - "& div": { - width: 150, - "@media (max-width: 900px)": { - flexFlow: "column", - }, - }, - }, - ...formFieldStyles, - ...modalStyleUtils, - }); - -const AddPolicyScreen = ({ classes }: IAddPolicyProps) => { - const dispatch = useDispatch(); +const AddPolicyScreen = () => { + const dispatch = useAppDispatch(); const navigate = useNavigate(); const [addLoading, setAddLoading] = useState(false); @@ -185,4 +155,4 @@ const AddPolicyScreen = ({ classes }: IAddPolicyProps) => { ); }; -export default withStyles(styles)(AddPolicyScreen); +export default AddPolicyScreen; diff --git a/portal-ui/src/screens/Console/Policies/DeletePolicy.tsx b/portal-ui/src/screens/Console/Policies/DeletePolicy.tsx index 01bf75f78c..cc80c83c7e 100644 --- a/portal-ui/src/screens/Console/Policies/DeletePolicy.tsx +++ b/portal-ui/src/screens/Console/Policies/DeletePolicy.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"; import useApi from "../Common/Hooks/useApi"; @@ -23,6 +23,7 @@ import ConfirmDialog from "../Common/ModalWrapper/ConfirmDialog"; import { ConfirmDeleteIcon } from "../../../icons"; import { encodeURLString } from "../../../common/utils"; import { setErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; interface IDeletePolicyProps { closeDeleteModalAndRefresh: (refresh: boolean) => void; @@ -35,7 +36,7 @@ const DeletePolicy = ({ deleteOpen, selectedPolicy, }: IDeletePolicyProps) => { - 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/Policies/ListPolicies.tsx b/portal-ui/src/screens/Console/Policies/ListPolicies.tsx index 1df5092f55..0b7d3674bc 100644 --- a/portal-ui/src/screens/Console/Policies/ListPolicies.tsx +++ b/portal-ui/src/screens/Console/Policies/ListPolicies.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 get from "lodash/get"; import { Theme } from "@mui/material/styles"; @@ -52,6 +52,7 @@ import withSuspense from "../Common/Components/withSuspense"; import RBIconButton from "../Buckets/BucketDetails/SummaryItems/RBIconButton"; import { encodeURLString } from "../../../common/utils"; import { setErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; const DeletePolicy = withSuspense(React.lazy(() => import("./DeletePolicy"))); @@ -71,7 +72,7 @@ interface IPoliciesProps { } const ListPolicies = ({ classes }: IPoliciesProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const [records, setRecords] = useState([]); diff --git a/portal-ui/src/screens/Console/Policies/PolicyDetails.tsx b/portal-ui/src/screens/Console/Policies/PolicyDetails.tsx index 1e51192ec8..6ce3ef2ec2 100644 --- a/portal-ui/src/screens/Console/Policies/PolicyDetails.tsx +++ b/portal-ui/src/screens/Console/Policies/PolicyDetails.tsx @@ -15,7 +15,7 @@ import React, { Fragment, useEffect, useState } from "react"; import { IAMPolicy, IAMStatement, Policy } from "./types"; -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"; @@ -61,6 +61,7 @@ import PolicyView from "./PolicyView"; import { decodeURLString, encodeURLString } from "../../../common/utils"; import { setErrorSnackMessage, setSnackBarMessage } from "../../../systemSlice"; import { selFeatures } from "../consoleSlice"; +import { useAppDispatch } from "../../../store"; const DeletePolicy = withSuspense(React.lazy(() => import("./DeletePolicy"))); @@ -98,7 +99,7 @@ interface IPolicyDetailsProps { } const PolicyDetails = ({ classes }: IPolicyDetailsProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const params = useParams(); diff --git a/portal-ui/src/screens/Console/Policies/PolicySelectors.tsx b/portal-ui/src/screens/Console/Policies/PolicySelectors.tsx index dde5f768a9..27658bf228 100644 --- a/portal-ui/src/screens/Console/Policies/PolicySelectors.tsx +++ b/portal-ui/src/screens/Console/Policies/PolicySelectors.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { useCallback, 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"; @@ -35,6 +35,7 @@ import api from "../../../common/api"; import TableWrapper from "../Common/TableWrapper/TableWrapper"; import SearchBox from "../Common/SearchBox"; import { setModalErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; interface ISelectPolicyProps { classes: any; @@ -78,7 +79,7 @@ const PolicySelectors = ({ selectedPolicy = [], setSelectedPolicy, }: ISelectPolicyProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); // Local State const [records, setRecords] = useState([]); const [loading, isLoading] = useState(false); diff --git a/portal-ui/src/screens/Console/Policies/SetPolicy.tsx b/portal-ui/src/screens/Console/Policies/SetPolicy.tsx index 54d70b45a1..04b54e1e61 100644 --- a/portal-ui/src/screens/Console/Policies/SetPolicy.tsx +++ b/portal-ui/src/screens/Console/Policies/SetPolicy.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { useEffect, useState, Fragment } from "react"; -import { useDispatch } from "react-redux"; + import get from "lodash/get"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; @@ -36,6 +36,7 @@ import PolicySelectors from "./PolicySelectors"; import PredefinedList from "../Common/FormComponents/PredefinedList/PredefinedList"; import { encodeURLString } from "../../../common/utils"; import { setModalErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; interface ISetPolicyProps { classes: any; @@ -66,7 +67,7 @@ const SetPolicy = ({ selectedGroups, open, }: ISetPolicyProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); //Local States const [loading, setLoading] = useState(false); const [actualPolicy, setActualPolicy] = useState([]); diff --git a/portal-ui/src/screens/Console/Support/Register.tsx b/portal-ui/src/screens/Console/Support/Register.tsx index 7a54ffe1c0..b1a4db4535 100644 --- a/portal-ui/src/screens/Console/Support/Register.tsx +++ b/portal-ui/src/screens/Console/Support/Register.tsx @@ -54,7 +54,7 @@ import { IAM_PAGES, IAM_PAGES_PERMISSIONS, } from "../../../common/SecureComponent/permissions"; -import { useDispatch, useSelector } from "react-redux"; +import { useSelector } from "react-redux"; import SettingsIcon from "../../../icons/SettingsIcon"; import FormSwitchWrapper from "../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; @@ -63,6 +63,7 @@ import RegisterHelpBox from "./RegisterHelpBox"; import RegistrationStatusBanner from "./RegistrationStatusBanner"; import BackLink from "../../../common/BackLink"; import { selOpMode, setErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; interface IRegister { classes: any; @@ -150,7 +151,7 @@ const FormTitle = ({ icon = null, title }: { icon?: any; title: any }) => { }; const Register = ({ classes }: IRegister) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const operatorMode = useSelector(selOpMode); const [license, setLicense] = useState(""); const [subnetPassword, setSubnetPassword] = useState(""); diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/AddTenant.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/AddTenant.tsx index a2dc29dab9..5484851ec0 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/AddTenant.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/AddTenant.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 Grid from "@mui/material/Grid"; import { LinearProgress } from "@mui/material"; @@ -32,7 +32,7 @@ import { IWizardButton, IWizardElement, } from "../../Common/GenericWizard/types"; -import { AppState } from "../../../../store"; +import { AppState, useAppDispatch } from "../../../../store"; import Configure from "./Steps/Configure"; import IdentityProvider from "./Steps/IdentityProvider"; import Security from "./Steps/Security"; @@ -70,7 +70,7 @@ const useStyles = makeStyles((theme: Theme) => ); const AddTenant = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const classes = useStyles(); diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/CreateTenantButton.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/CreateTenantButton.tsx index d53cf8253f..18757ddc56 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/CreateTenantButton.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/CreateTenantButton.tsx @@ -16,13 +16,13 @@ import { Button } from "@mui/material"; import React from "react"; -import { useDispatch, useSelector } from "react-redux"; -import { AppState } from "../../../../store"; +import { useSelector } from "react-redux"; +import { AppState, useAppDispatch } from "../../../../store"; import { requiredPages } from "./common"; import { createTenantAsync } from "./thunks/createTenantThunk"; const CreateTenantButton = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const addSending = useSelector( (state: AppState) => state.createTenant.addingTenant diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/NewTenantCredentials.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/NewTenantCredentials.tsx index 53184bc704..5cfe89cff5 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/NewTenantCredentials.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/NewTenantCredentials.tsx @@ -17,12 +17,12 @@ import React, { Fragment } from "react"; import CredentialsPrompt from "../../Common/CredentialsPrompt/CredentialsPrompt"; import { resetAddTenantForm } from "./createTenantSlice"; -import { useDispatch, useSelector } from "react-redux"; -import { AppState } from "../../../../store"; +import { useSelector } from "react-redux"; +import { AppState, useAppDispatch } from "../../../../store"; import { useNavigate } from "react-router-dom"; const NewTenantCredentials = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const showNewCredentials = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Affinity.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Affinity.tsx index 14f4188eb7..b12ac3a498 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Affinity.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Affinity.tsx @@ -15,12 +15,12 @@ // 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 { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import { Grid, IconButton, Paper, SelectChangeEvent } from "@mui/material"; -import { AppState } from "../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../store"; import { modalBasic, @@ -116,7 +116,7 @@ interface OptionPair { } const Affinity = ({ classes }: IAffinityProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const podAffinity = useSelector( (state: AppState) => state.createTenant.fields.affinity.podAffinity diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/ConfigLogSearch.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/ConfigLogSearch.tsx index f65d19a9d2..c4ae30c051 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/ConfigLogSearch.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/ConfigLogSearch.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 { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; @@ -25,7 +25,7 @@ import { modalBasic, wizardCommon, } from "../../../Common/FormComponents/common/styleLibrary"; -import { AppState } from "../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../store"; import { clearValidationError } from "../../utils"; import { commonFormValidation, @@ -82,7 +82,7 @@ const styles = (theme: Theme) => }); const ConfigLogSearch = ({ classes }: IConfigureProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const storageClasses = useSelector( (state: AppState) => state.createTenant.storageClasses diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/ConfigPrometheus.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/ConfigPrometheus.tsx index ef91b021cf..22d84ed43f 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/ConfigPrometheus.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/ConfigPrometheus.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 { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; @@ -26,7 +26,7 @@ import { wizardCommon, } from "../../../Common/FormComponents/common/styleLibrary"; -import { AppState } from "../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../store"; import { clearValidationError } from "../../utils"; import { commonFormValidation, @@ -82,7 +82,7 @@ const styles = (theme: Theme) => }); const ConfigPrometheus = ({ classes }: IConfigureProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const storageClasses = useSelector( (state: AppState) => state.createTenant.storageClasses diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Configure.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Configure.tsx index c90ddd94ac..28f1f6e0a8 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Configure.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Configure.tsx @@ -15,7 +15,7 @@ // 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 { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; @@ -26,7 +26,7 @@ import { wizardCommon, } from "../../../Common/FormComponents/common/styleLibrary"; -import { AppState } from "../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../store"; import { clearValidationError } from "../../utils"; import { commonFormValidation, @@ -102,7 +102,7 @@ const styles = (theme: Theme) => }); const Configure = ({ classes }: IConfigureProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const exposeMinIO = useSelector( (state: AppState) => state.createTenant.fields.configure.exposeMinIO diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption.tsx index d2e4da0bf2..99fc88f5c9 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption.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 { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; @@ -28,7 +28,7 @@ import { modalBasic, wizardCommon, } from "../../../Common/FormComponents/common/styleLibrary"; -import { AppState } from "../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../store"; import { clearValidationError } from "../../utils"; import InputBoxWrapper from "../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import FormSwitchWrapper from "../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; @@ -82,7 +82,7 @@ const styles = (theme: Theme) => }); const Encryption = ({ classes }: IEncryptionProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const replicas = useSelector( (state: AppState) => state.createTenant.fields.encryption.replicas diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/AWSKMSAdd.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/AWSKMSAdd.tsx index 3e5313447e..ca24d202a4 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/AWSKMSAdd.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/AWSKMSAdd.tsx @@ -17,8 +17,8 @@ import React, { Fragment, useCallback, useEffect, useState } from "react"; import Grid from "@mui/material/Grid"; 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"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import { @@ -45,7 +45,7 @@ const useStyles = makeStyles((theme: Theme) => ); const AWSKMSAdd = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const classes = useStyles(); const awsEndpoint = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/AzureKMSAdd.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/AzureKMSAdd.tsx index 06105bbfd2..7c92a87780 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/AzureKMSAdd.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/AzureKMSAdd.tsx @@ -17,8 +17,8 @@ import React, { Fragment, useCallback, useEffect, useState } from "react"; import Grid from "@mui/material/Grid"; 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"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import { @@ -45,7 +45,7 @@ const useStyles = makeStyles((theme: Theme) => ); const AzureKMSAdd = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const classes = useStyles(); const azureEndpoint = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/GCPKMSAdd.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/GCPKMSAdd.tsx index c52f5fa2d9..77d70cd8eb 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/GCPKMSAdd.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/GCPKMSAdd.tsx @@ -17,8 +17,8 @@ import React, { Fragment, useCallback } from "react"; import Grid from "@mui/material/Grid"; 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"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import { @@ -41,7 +41,7 @@ const useStyles = makeStyles((theme: Theme) => const GCPKMSAdd = () => { const classes = useStyles(); - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const gcpProjectID = useSelector( (state: AppState) => state.createTenant.fields.encryption.gcpProjectID diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/GemaltoKMSAdd.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/GemaltoKMSAdd.tsx index b262b42bee..7d06d8d703 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/GemaltoKMSAdd.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/GemaltoKMSAdd.tsx @@ -17,8 +17,8 @@ import React, { Fragment, useCallback, useEffect, useState } from "react"; import Grid from "@mui/material/Grid"; 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"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import { @@ -50,7 +50,7 @@ const useStyles = makeStyles((theme: Theme) => ); const GemaltoKMSAdd = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const classes = useStyles(); const gemaltoCA = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/VaultKMSAdd.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/VaultKMSAdd.tsx index 7b622f5453..cc73e63977 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/VaultKMSAdd.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Encryption/VaultKMSAdd.tsx @@ -25,8 +25,8 @@ import { isPageValid, updateAddField, } from "../../createTenantSlice"; -import { useDispatch, useSelector } from "react-redux"; -import { AppState } from "../../../../../../store"; +import { useSelector } from "react-redux"; +import { AppState, useAppDispatch } from "../../../../../../store"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import { @@ -52,7 +52,7 @@ const useStyles = makeStyles((theme: Theme) => ); const VaultKMSAdd = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const classes = useStyles(); const vaultEndpoint = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider.tsx index 198bd80506..6ffff8aa29 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React 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 { Grid, Paper } from "@mui/material"; @@ -24,7 +24,7 @@ import { modalBasic, wizardCommon, } from "../../../Common/FormComponents/common/styleLibrary"; -import { AppState } from "../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../store"; import RadioGroupSelector from "../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector"; import { setIDP } from "../createTenantSlice"; import IDPActiveDirectory from "./IdentityProvider/IDPActiveDirectory"; @@ -55,7 +55,7 @@ const useStyles = makeStyles((theme: Theme) => ); const IdentityProvider = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const classes = useStyles(); const idpSelection = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPActiveDirectory.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPActiveDirectory.tsx index 62c73c127a..88af92e0ec 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPActiveDirectory.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPActiveDirectory.tsx @@ -34,9 +34,9 @@ import { setIDPADUsrAtIndex, updateAddField, } from "../../createTenantSlice"; -import { useDispatch, useSelector } from "react-redux"; +import { useSelector } from "react-redux"; import { clearValidationError } from "../../../utils"; -import { AppState } from "../../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../../store"; import AddIcon from "@mui/icons-material/Add"; import DeleteIcon from "@mui/icons-material/Delete"; import { @@ -75,7 +75,7 @@ const useStyles = makeStyles((theme: Theme) => ); const IDPActiveDirectory = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const classes = useStyles(); const idpSelection = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPBuiltIn.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPBuiltIn.tsx index 0460891142..2ea9eeab76 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPBuiltIn.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPBuiltIn.tsx @@ -28,8 +28,8 @@ import AddIcon from "@mui/icons-material/Add"; import RemoveIcon from "../../../../../../icons/RemoveIcon"; import { clearValidationError, getRandomString } from "../../../utils"; import CasinoIcon from "@mui/icons-material/Casino"; -import { useDispatch, useSelector } from "react-redux"; -import { AppState } from "../../../../../../store"; +import { useSelector } from "react-redux"; +import { AppState, useAppDispatch } from "../../../../../../store"; import makeStyles from "@mui/styles/makeStyles"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; @@ -81,7 +81,7 @@ const useStyles = makeStyles((theme: Theme) => ); const IDPBuiltIn = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const classes = useStyles(); const idpSelection = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPOpenID.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPOpenID.tsx index e82db7c910..a0e1966070 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPOpenID.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPOpenID.tsx @@ -26,8 +26,8 @@ import { modalBasic, wizardCommon, } from "../../../../Common/FormComponents/common/styleLibrary"; -import { useDispatch, useSelector } from "react-redux"; -import { AppState } from "../../../../../../store"; +import { useSelector } from "react-redux"; +import { AppState, useAppDispatch } from "../../../../../../store"; import { isPageValid, updateAddField } from "../../createTenantSlice"; import { clearValidationError } from "../../../utils"; import { @@ -63,7 +63,7 @@ const useStyles = makeStyles((theme: Theme) => ); const IDPOpenID = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const classes = useStyles(); const idpSelection = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Images.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Images.tsx index b31b3e68f5..7e86c3e4e7 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Images.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Images.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 { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; @@ -25,7 +25,7 @@ import { modalBasic, wizardCommon, } from "../../../Common/FormComponents/common/styleLibrary"; -import { AppState } from "../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../store"; import { clearValidationError } from "../../utils"; import { commonFormValidation, @@ -47,7 +47,7 @@ const styles = (theme: Theme) => }); const Images = ({ classes }: IImagesProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const customImage = useSelector( (state: AppState) => state.createTenant.fields.configure.customImage diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Security.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Security.tsx index a469d52e03..2326d2258e 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Security.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Security.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { Fragment, useCallback, useEffect } 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"; @@ -26,7 +26,7 @@ import { wizardCommon, } from "../../../Common/FormComponents/common/styleLibrary"; -import { AppState } from "../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../store"; import { KeyPair } from "../../ListTenants/utils"; import FormSwitchWrapper from "../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import FileSelector from "../../../Common/FormComponents/FileSelector/FileSelector"; @@ -117,7 +117,7 @@ const styles = (theme: Theme) => }); const Security = ({ classes }: ISecurityProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const enableTLS = useSelector( (state: AppState) => state.createTenant.fields.security.enableTLS diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/NameTenantMain.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/NameTenantMain.tsx index 2e113e4222..8bd14ce995 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/NameTenantMain.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/NameTenantMain.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { Fragment, useCallback, useEffect } 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"; @@ -26,7 +26,7 @@ import { modalBasic, wizardCommon, } from "../../../../Common/FormComponents/common/styleLibrary"; -import { AppState } from "../../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../../store"; import InputBoxWrapper from "../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import SelectWrapper from "../../../../Common/FormComponents/SelectWrapper/SelectWrapper"; import SizePreview from "../SizePreview"; @@ -57,7 +57,7 @@ const styles = (theme: Theme) => }); const NameTenantField = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const tenantName = useSelector( (state: AppState) => state.createTenant.fields.nameTenant.tenantName ); @@ -87,7 +87,7 @@ interface INameTenantMainScreen { } const NameTenantMain = ({ classes, formToRender }: INameTenantMainScreen) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const selectedStorageClass = useSelector( (state: AppState) => diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/NamespaceSelector.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/NamespaceSelector.tsx index 19d89a8fc2..fa73869abb 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/NamespaceSelector.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/NamespaceSelector.tsx @@ -18,15 +18,15 @@ import React, { Fragment, useEffect, useMemo } from "react"; import AddIcon from "../../../../../../icons/AddIcon"; import InputBoxWrapper from "../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import { openAddNSModal, setNamespace } from "../../createTenantSlice"; -import { useDispatch, useSelector } from "react-redux"; -import { AppState } from "../../../../../../store"; +import { useSelector } from "react-redux"; +import { AppState, useAppDispatch } from "../../../../../../store"; import AddNamespaceModal from "../helpers/AddNamespaceModal"; import debounce from "lodash/debounce"; import { IMkEnvs } from "./utils"; import { validateNamespaceAsync } from "../../thunks/namespaceThunks"; const NamespaceSelector = ({ formToRender }: { formToRender?: IMkEnvs }) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const namespace = useSelector( (state: AppState) => state.createTenant.fields.nameTenant.namespace diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSize.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSize.tsx index 7f0d67191e..06bbdec25d 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSize.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSize.tsx @@ -15,12 +15,12 @@ // 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 { Theme } from "@mui/material/styles"; import { SelectChangeEvent } from "@mui/material"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; -import { AppState } from "../../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../../store"; import { formFieldStyles, modalBasic, @@ -70,7 +70,7 @@ const styles = (theme: Theme) => }); const TenantSize = ({ classes, formToRender }: ITenantSizeProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const volumeSize = useSelector( (state: AppState) => state.createTenant.fields.tenantSize.volumeSize diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSizeMK.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSizeMK.tsx index f0b228c66f..d997964ef4 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSizeMK.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSizeMK.tsx @@ -15,13 +15,13 @@ // 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 { Theme } from "@mui/material/styles"; import { SelectChangeEvent } from "@mui/material"; import get from "lodash/get"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; -import { AppState } from "../../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../../store"; import { formFieldStyles, modalBasic, @@ -71,7 +71,7 @@ const TenantSizeMK = ({ formToRender, }: ITenantSizeAWSProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const volumeSize = useSelector( (state: AppState) => state.createTenant.fields.tenantSize.volumeSize diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSizeResources.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSizeResources.tsx index 29bb7f89c6..e06571f772 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSizeResources.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/TenantSizeResources.tsx @@ -15,12 +15,12 @@ // along with this program. If not, see . import React, { Fragment, useCallback, useEffect } 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"; import get from "lodash/get"; -import { AppState } from "../../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../../store"; import { formFieldStyles, modalBasic, @@ -63,7 +63,7 @@ const TenantSizeResources = ({ // isPageValid, ITenantSizeResourcesProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const nodes = useSelector( (state: AppState) => state.createTenant.fields.tenantSize.nodes diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/helpers/AddNamespaceModal.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/helpers/AddNamespaceModal.tsx index 3e52b7729b..20b86e5426 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/helpers/AddNamespaceModal.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/helpers/AddNamespaceModal.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React from "react"; -import { useDispatch, useSelector } from "react-redux"; +import { useSelector } from "react-redux"; import { DialogContentText, LinearProgress } from "@mui/material"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; @@ -25,7 +25,7 @@ import { } from "../../../../Common/FormComponents/common/styleLibrary"; import ConfirmDialog from "../../../../Common/ModalWrapper/ConfirmDialog"; import { ConfirmModalIcon } from "../../../../../../icons"; -import { AppState } from "../../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../../store"; import { closeAddNSModal } from "../../createTenantSlice"; import makeStyles from "@mui/styles/makeStyles"; import { createNamespaceAsync } from "../../thunks/namespaceThunks"; @@ -43,7 +43,7 @@ const useStyles = makeStyles((theme: Theme) => ); const AddNamespaceModal = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const classes = useStyles(); const namespace = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/ListTenants/DeleteTenant.tsx b/portal-ui/src/screens/Console/Tenants/ListTenants/DeleteTenant.tsx index 99e48d1075..1ddf7b3fa4 100644 --- a/portal-ui/src/screens/Console/Tenants/ListTenants/DeleteTenant.tsx +++ b/portal-ui/src/screens/Console/Tenants/ListTenants/DeleteTenant.tsx @@ -17,7 +17,6 @@ import React, { useState } from "react"; import { DialogContentText } from "@mui/material"; import { ITenant } from "./types"; -import { useDispatch } from "react-redux"; import { ErrorResponseHandler } from "../../../../common/types"; import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; @@ -28,6 +27,7 @@ import { ConfirmDeleteIcon } from "../../../../icons"; import WarningMessage from "../../Common/WarningMessage/WarningMessage"; import FormSwitchWrapper from "../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import { setErrorSnackMessage } from "../../../../systemSlice"; +import { useAppDispatch } from "../../../../store"; interface IDeleteTenant { deleteOpen: boolean; @@ -40,7 +40,7 @@ const DeleteTenant = ({ selectedTenant, closeDeleteModalAndRefresh, }: IDeleteTenant) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const [retypeTenant, setRetypeTenant] = useState(""); const onDelSuccess = () => closeDeleteModalAndRefresh(true); diff --git a/portal-ui/src/screens/Console/Tenants/ListTenants/ListTenants.tsx b/portal-ui/src/screens/Console/Tenants/ListTenants/ListTenants.tsx index a56e637e34..8e2a7f0525 100644 --- a/portal-ui/src/screens/Console/Tenants/ListTenants/ListTenants.tsx +++ b/portal-ui/src/screens/Console/Tenants/ListTenants/ListTenants.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 Grid from "@mui/material/Grid"; import { LinearProgress, SelectChangeEvent } from "@mui/material"; import { Theme } from "@mui/material/styles"; @@ -47,6 +47,7 @@ import PageLayout from "../../Common/Layout/PageLayout"; import { setErrorSnackMessage } from "../../../../systemSlice"; import SelectWrapper from "../../Common/FormComponents/SelectWrapper/SelectWrapper"; import { useNavigate } from "react-router-dom"; +import { useAppDispatch } from "../../../../store"; const CredentialsPrompt = withSuspense( React.lazy(() => import("../../Common/CredentialsPrompt/CredentialsPrompt")) @@ -108,7 +109,7 @@ const styles = (theme: Theme) => }); const ListTenants = ({ classes }: ITenantsList) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const [isLoading, setIsLoading] = useState(false); diff --git a/portal-ui/src/screens/Console/Tenants/ListTenants/TenantListItem.tsx b/portal-ui/src/screens/Console/Tenants/ListTenants/TenantListItem.tsx index 5423cc9e56..dda6f9a150 100644 --- a/portal-ui/src/screens/Console/Tenants/ListTenants/TenantListItem.tsx +++ b/portal-ui/src/screens/Console/Tenants/ListTenants/TenantListItem.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { Fragment } from "react"; -import { useDispatch } from "react-redux"; + import { useNavigate } from "react-router-dom"; import { Theme } from "@mui/material/styles"; import { CapacityValues, ITenant, ValueUnit } from "./types"; @@ -28,6 +28,7 @@ import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import InformationItem from "./InformationItem"; import TenantCapacity from "./TenantCapacity"; +import { useAppDispatch } from "../../../../store"; const styles = (theme: Theme) => createStyles({ @@ -106,7 +107,7 @@ interface ITenantListItem { } const TenantListItem = ({ tenant, classes }: ITenantListItem) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const healthStatusToClass = (health_status: string) => { diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/DeletePVC.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/DeletePVC.tsx index d0923c2947..8caeea7caa 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/DeletePVC.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/DeletePVC.tsx @@ -18,13 +18,14 @@ import React, { useState } from "react"; import { DialogContentText } from "@mui/material"; import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import Grid from "@mui/material/Grid"; -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 { IStoragePVCs } from "../../Storage/types"; import { setErrorSnackMessage } from "../../../../systemSlice"; +import { useAppDispatch } from "../../../../store"; interface IDeletePVC { deleteOpen: boolean; @@ -37,7 +38,7 @@ const DeletePVC = ({ selectedPVC, closeDeleteModalAndRefresh, }: IDeletePVC) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const [retypePVC, setRetypePVC] = useState(""); const onDelSuccess = () => closeDeleteModalAndRefresh(true); diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/DeletePod.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/DeletePod.tsx index 3944edffec..6d399d4a3b 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/DeletePod.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/DeletePod.tsx @@ -19,13 +19,13 @@ import { DialogContentText } from "@mui/material"; import { IPodListElement } from "../ListTenants/types"; import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import Grid from "@mui/material/Grid"; -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 IDeletePod { deleteOpen: boolean; @@ -38,7 +38,7 @@ const DeletePod = ({ selectedPod, closeDeleteModalAndRefresh, }: IDeletePod) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const [retypePod, setRetypePod] = useState(""); const onDelSuccess = () => closeDeleteModalAndRefresh(true); diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/EditDomains.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/EditDomains.tsx index 8b345d65b7..8290bb6ecf 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/EditDomains.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/EditDomains.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { useEffect, useState } from "react"; -import { useDispatch } from "react-redux"; + import { Theme } from "@mui/material/styles"; import { Button, Grid, IconButton } from "@mui/material"; import createStyles from "@mui/styles/createStyles"; @@ -34,6 +34,7 @@ import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBo import api from "../../../../common/api"; import RemoveIcon from "../../../../icons/RemoveIcon"; import { setModalErrorSnackMessage } from "../../../../systemSlice"; +import { useAppDispatch } from "../../../../store"; interface IEditDomains { open: boolean; @@ -74,7 +75,7 @@ const EditDomains = ({ domains, classes, }: IEditDomains) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const [isSending, setIsSending] = useState(false); const [consoleDomain, setConsoleDomain] = useState(""); const [minioDomains, setMinioDomains] = useState([""]); diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/EditTenantLogsModal.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/EditTenantLogsModal.tsx index 5a1b6fc8d0..0ddb08997a 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/EditTenantLogsModal.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/EditTenantLogsModal.tsx @@ -37,8 +37,9 @@ import { import { clearValidationError } from "../utils"; import InputUnitMenu from "../../Common/FormComponents/InputUnitMenu/InputUnitMenu"; -import { useDispatch } from "react-redux"; + import { setModalErrorSnackMessage } from "../../../../systemSlice"; +import { useAppDispatch } from "../../../../store"; interface IEditTenantLogsProps { tenant: ITenant; @@ -102,7 +103,7 @@ const EditTenantLogsModal = ({ dbCPURequest, dbMemRequest, }: IEditTenantLogsProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const [validationErrors, setValidationErrors] = useState({}); const [newLabels, setNewLabels] = useState( labels.length > 0 ? [...labels] : [{ key: "", value: "" }] diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/EditTenantMonitoringModal.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/EditTenantMonitoringModal.tsx index 0d80bc1556..ccacc5964c 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/EditTenantMonitoringModal.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/EditTenantMonitoringModal.tsx @@ -19,8 +19,9 @@ import { IValidation, } from "../../../../utils/validationFunctions"; import InputUnitMenu from "../../Common/FormComponents/InputUnitMenu/InputUnitMenu"; -import { useDispatch } from "react-redux"; + import { setModalErrorSnackMessage } from "../../../../systemSlice"; +import { useAppDispatch } from "../../../../store"; interface IEditTenantMonitoringProps { tenant: ITenant; @@ -71,7 +72,7 @@ const EditTenantMonitoringModal = ({ cpuRequest, memRequest, }: IEditTenantMonitoringProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const [validationErrors, setValidationErrors] = useState({}); const [newLabels, setNewLabels] = useState( labels.length > 0 ? [...labels] : [{ key: "", value: "" }] diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/PodsSummary.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/PodsSummary.tsx index f44881132d..2c22730f37 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/PodsSummary.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/PodsSummary.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 { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; @@ -30,7 +30,7 @@ import { IPodListElement } from "../ListTenants/types"; import api from "../../../../common/api"; import TableWrapper from "../../Common/TableWrapper/TableWrapper"; -import { AppState } from "../../../../store"; +import { AppState, useAppDispatch } from "../../../../store"; import { ErrorResponseHandler } from "../../../../common/types"; import DeletePod from "./DeletePod"; import { Grid, InputAdornment, TextField } from "@mui/material"; @@ -49,7 +49,7 @@ const styles = (theme: Theme) => }); const PodsSummary = ({ classes }: IPodsSummary) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const { tenantName, tenantNamespace } = useParams(); diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/AddPool.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/AddPool.tsx index 76ca5af30c..d2aee0b76e 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/AddPool.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/AddPool.tsx @@ -33,8 +33,8 @@ import PoolResources from "./PoolResources"; import ScreenTitle from "../../../../Common/ScreenTitle/ScreenTitle"; import TenantsIcon from "../../../../../../icons/TenantsIcon"; -import { AppState } from "../../../../../../store"; -import { useDispatch, useSelector } from "react-redux"; +import { AppState, useAppDispatch } from "../../../../../../store"; +import { useSelector } from "react-redux"; import PoolConfiguration from "./PoolConfiguration"; import PoolPodPlacement from "./PoolPodPlacement"; import BackLink from "../../../../../../common/BackLink"; @@ -71,7 +71,7 @@ const useStyles = makeStyles((theme: Theme) => ); const AddPool = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const classes = useStyles(); diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/AddPoolCreateButton.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/AddPoolCreateButton.tsx index a6ca3a7c44..7535021cf8 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/AddPoolCreateButton.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/AddPoolCreateButton.tsx @@ -17,11 +17,11 @@ import { Button } from "@mui/material"; import React from "react"; import { addPoolAsync } from "./addPoolThunks"; -import { useDispatch, useSelector } from "react-redux"; -import { AppState } from "../../../../../../store"; +import { useSelector } from "react-redux"; +import { AppState, useAppDispatch } from "../../../../../../store"; const AddPoolCreateButton = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const selectedStorageClass = useSelector( (state: AppState) => state.addPool.setup.storageClass diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolConfiguration.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolConfiguration.tsx index 1986011390..1b1751b688 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolConfiguration.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolConfiguration.tsx @@ -15,7 +15,7 @@ // 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 { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; @@ -25,7 +25,7 @@ import { modalBasic, wizardCommon, } from "../../../../Common/FormComponents/common/styleLibrary"; -import { AppState } from "../../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../../store"; import { clearValidationError } from "../../../utils"; import { commonFormValidation, @@ -78,7 +78,7 @@ const styles = (theme: Theme) => }); const PoolConfiguration = ({ classes }: IConfigureProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const securityContextEnabled = useSelector( (state: AppState) => state.addPool.configuration.securityContextEnabled diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolPodPlacement.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolPodPlacement.tsx index e18c0b31d9..f61ea42c1f 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolPodPlacement.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolPodPlacement.tsx @@ -15,12 +15,12 @@ // 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 { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import { Grid, IconButton, Paper, SelectChangeEvent } from "@mui/material"; -import { AppState } from "../../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../../store"; import { modalBasic, @@ -116,7 +116,7 @@ interface OptionPair { } const Affinity = ({ classes }: IAffinityProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const podAffinity = useSelector( (state: AppState) => state.addPool.affinity.podAffinity diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolResources.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolResources.tsx index 35cfcb1c8f..70766a567e 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolResources.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolResources.tsx @@ -31,8 +31,8 @@ import api from "../../../../../../common/api"; import { ErrorResponseHandler } from "../../../../../../common/types"; import SelectWrapper from "../../../../Common/FormComponents/SelectWrapper/SelectWrapper"; import { IQuotaElement, IQuotas } from "../../../ListTenants/utils"; -import { AppState } from "../../../../../../store"; -import { useDispatch, useSelector } from "react-redux"; +import { AppState, useAppDispatch } from "../../../../../../store"; +import { useSelector } from "react-redux"; import { commonFormValidation, @@ -84,7 +84,7 @@ const styles = (theme: Theme) => }); const PoolResources = ({ classes }: IPoolResourcesProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const tenant = useSelector((state: AppState) => state.tenants.tenantInfo); const storageClasses = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/Details/PoolsListing.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/Details/PoolsListing.tsx index c928645865..8a392214ca 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/Details/PoolsListing.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/Details/PoolsListing.tsx @@ -16,8 +16,8 @@ import React, { Fragment, useEffect, useState } from "react"; import withStyles from "@mui/styles/withStyles"; -import { AppState } from "../../../../../../store"; -import { useDispatch, useSelector } from "react-redux"; +import { AppState, useAppDispatch } from "../../../../../../store"; +import { useSelector } from "react-redux"; import { useNavigate } from "react-router-dom"; import { IPool } from "../../../ListTenants/types"; import Grid from "@mui/material/Grid"; @@ -51,7 +51,7 @@ const styles = (theme: Theme) => }); const PoolsListing = ({ classes, setPoolDetailsView }: IPoolsSummary) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const loadingTenant = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPool.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPool.tsx index 824264d5a3..fde5df6e09 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPool.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPool.tsx @@ -15,7 +15,7 @@ // 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 } from "react-router-dom"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; @@ -37,7 +37,7 @@ import { modalStyleUtils, } from "../../../../Common/FormComponents/common/styleLibrary"; -import { AppState } from "../../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../../store"; import { resetEditPoolForm, setInitialPoolDetails } from "./editPoolSlice"; import EditPoolButton from "./EditPoolButton"; import makeStyles from "@mui/styles/makeStyles"; @@ -71,7 +71,7 @@ const useStyles = makeStyles((theme: Theme) => ); const EditPool = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const classes = useStyles(); diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolButton.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolButton.tsx index 56cd55eabf..5694a6f486 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolButton.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolButton.tsx @@ -16,12 +16,12 @@ import { Button } from "@mui/material"; import React from "react"; -import { useDispatch, useSelector } from "react-redux"; -import { AppState } from "../../../../../../store"; +import { useSelector } from "react-redux"; +import { AppState, useAppDispatch } from "../../../../../../store"; import { editPoolAsync } from "./thunks/editPoolAsync"; const EditPoolButton = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const requiredPages = ["setup", "affinity", "configure"]; const selectedStorageClass = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolConfiguration.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolConfiguration.tsx index 098eda5c82..f32cb19c06 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolConfiguration.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolConfiguration.tsx @@ -15,7 +15,7 @@ // 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 { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; @@ -26,7 +26,7 @@ import { wizardCommon, } from "../../../../Common/FormComponents/common/styleLibrary"; -import { AppState } from "../../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../../store"; import { clearValidationError } from "../../../utils"; import { commonFormValidation, @@ -79,7 +79,7 @@ const styles = (theme: Theme) => }); const PoolConfiguration = ({ classes }: IConfigureProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const securityContextEnabled = useSelector( (state: AppState) => diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolPlacement.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolPlacement.tsx index 86fa38c118..6df00fb303 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolPlacement.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolPlacement.tsx @@ -15,12 +15,12 @@ // 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 { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import { Grid, IconButton, Paper, SelectChangeEvent } from "@mui/material"; -import { AppState } from "../../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../../store"; import { modalBasic, @@ -116,7 +116,7 @@ interface OptionPair { } const Affinity = ({ classes }: IAffinityProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const podAffinity = useSelector( (state: AppState) => state.editPool.fields.affinity.podAffinity diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolResources.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolResources.tsx index 1ae1e498ad..b92550326e 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolResources.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolResources.tsx @@ -31,8 +31,8 @@ import api from "../../../../../../common/api"; import { ErrorResponseHandler } from "../../../../../../common/types"; import SelectWrapper from "../../../../Common/FormComponents/SelectWrapper/SelectWrapper"; import { IQuotaElement, IQuotas } from "../../../ListTenants/utils"; -import { AppState } from "../../../../../../store"; -import { useDispatch, useSelector } from "react-redux"; +import { AppState, useAppDispatch } from "../../../../../../store"; +import { useSelector } from "react-redux"; import { commonFormValidation, @@ -84,7 +84,7 @@ const styles = (theme: Theme) => }); const PoolResources = ({ classes }: IPoolResourcesProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const tenant = useSelector((state: AppState) => state.tenants.tenantInfo); const storageClasses = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/PoolsSummary.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/PoolsSummary.tsx index 5155792fc2..c6320837a4 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/PoolsSummary.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/PoolsSummary.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { Fragment } from "react"; -import { useDispatch, useSelector } from "react-redux"; +import { useSelector } from "react-redux"; import { Theme } from "@mui/material/styles"; import { useLocation } from "react-router-dom"; import createStyles from "@mui/styles/createStyles"; @@ -28,7 +28,7 @@ import { } from "../../Common/FormComponents/common/styleLibrary"; import Grid from "@mui/material/Grid"; -import { AppState } from "../../../../store"; +import { AppState, useAppDispatch } from "../../../../store"; import PoolsListing from "./Pools/Details/PoolsListing"; import PoolDetails from "./Pools/Details/PoolDetails"; @@ -48,7 +48,7 @@ const styles = (theme: Theme) => }); const PoolsSummary = ({ classes }: IPoolsSummary) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const { pathname = "" } = useLocation(); const selectedPool = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantCSR.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantCSR.tsx index 4c64f4a57f..be14f6930d 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantCSR.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantCSR.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"; @@ -36,7 +36,7 @@ import TableRow from "@mui/material/TableRow"; import TableCell from "@mui/material/TableCell"; import TableBody from "@mui/material/TableBody"; import { useParams } from "react-router-dom"; -import { AppState } from "../../../../store"; +import { AppState, useAppDispatch } from "../../../../store"; interface ITenantCSRProps { classes: any; @@ -54,7 +54,7 @@ const styles = (theme: Theme) => }); const TenantCSR = ({ classes }: ITenantCSRProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const { tenantName, tenantNamespace } = useParams(); const loadingTenant = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantDetails.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantDetails.tsx index 5f209b4f35..0fe6d0b8d4 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantDetails.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantDetails.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 { Link, Navigate, @@ -34,7 +34,7 @@ import { pageContentStyles, tenantDetailsStyles, } from "../../Common/FormComponents/common/styleLibrary"; -import { AppState } from "../../../../store"; +import { AppState, useAppDispatch } from "../../../../store"; import PageHeader from "../../Common/PageHeader/PageHeader"; import { CircleIcon, MinIOTierIconXs, TrashIcon } from "../../../../icons"; import { niceBytes } from "../../../../common/utils"; @@ -163,7 +163,7 @@ const styles = (theme: Theme) => }); const TenantDetails = ({ classes }: ITenantDetailsProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const params = useParams(); const navigate = useNavigate(); const { pathname = "" } = useLocation(); diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantEncryption.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantEncryption.tsx index 621d95ebda..8bc7c5b7f4 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantEncryption.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantEncryption.tsx @@ -32,8 +32,8 @@ import { wizardCommon, } from "../../Common/FormComponents/common/styleLibrary"; import React, { Fragment, useEffect, useState } from "react"; -import { useDispatch, useSelector } from "react-redux"; -import { AppState } from "../../../../store"; +import { useSelector } from "react-redux"; +import { AppState, useAppDispatch } from "../../../../store"; import api from "../../../../common/api"; import { ErrorResponseHandler } from "../../../../common/types"; @@ -85,7 +85,7 @@ const styles = (theme: Theme) => }); const TenantEncryption = ({ classes }: ITenantEncryption) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const tenant = useSelector((state: AppState) => state.tenants.tenantInfo); diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantEvents.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantEvents.tsx index 1ac749abfb..36bd42af6b 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantEvents.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantEvents.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { useEffect, useState } from "react"; -import { connect, useDispatch, useSelector } from "react-redux"; +import { connect, useSelector } from "react-redux"; import { Theme } from "@mui/material/styles"; import { useParams } from "react-router-dom"; import createStyles from "@mui/styles/createStyles"; @@ -31,7 +31,7 @@ import { IEvent } from "../ListTenants/types"; import { niceDays } from "../../../../common/utils"; import { ErrorResponseHandler } from "../../../../common/types"; import api from "../../../../common/api"; -import { AppState } from "../../../../store"; +import { AppState, useAppDispatch } from "../../../../store"; import EventsList from "./events/EventsList"; import { setErrorSnackMessage } from "../../../../systemSlice"; @@ -48,7 +48,7 @@ const styles = (theme: Theme) => }); const TenantEvents = ({ classes }: ITenantEventsProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const params = useParams(); const loadingTenant = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantIdentityProvider.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantIdentityProvider.tsx index 1c8386eeba..08cdba28ba 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantIdentityProvider.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantIdentityProvider.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { Fragment, useCallback, useEffect, useState } from "react"; -import { connect, useDispatch, useSelector } from "react-redux"; +import { connect, useSelector } from "react-redux"; import { Button, DialogContentText, Typography } from "@mui/material"; import { Theme } from "@mui/material/styles"; import Grid from "@mui/material/Grid"; @@ -40,7 +40,7 @@ import { } from "../../../../utils/validationFunctions"; import { ConfirmModalIcon } from "../../../../icons"; import { setErrorSnackMessage } from "../../../../systemSlice"; -import { AppState } from "../../../../store"; +import { AppState, useAppDispatch } from "../../../../store"; import { ErrorResponseHandler } from "../../../../common/types"; import Loader from "../../Common/Loader/Loader"; import RadioGroupSelector from "../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector"; @@ -81,7 +81,7 @@ const styles = (theme: Theme) => }); const TenantIdentityProvider = ({ classes }: ITenantIdentityProvider) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const tenant = useSelector((state: AppState) => state.tenants.tenantInfo); const loadingTenant = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantLicense.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantLicense.tsx index 69b2d9ecb4..b98b9955b1 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantLicense.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantLicense.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"; @@ -25,7 +25,7 @@ import { tenantDetailsStyles, } from "../../Common/FormComponents/common/styleLibrary"; import { SubnetInfo } from "../../License/types"; -import { AppState } from "../../../../store"; +import { AppState, useAppDispatch } from "../../../../store"; import { ErrorResponseHandler } from "../../../../common/types"; import SubnetLicenseTenant from "./SubnetLicenseTenant"; import api from "../../../../common/api"; @@ -47,7 +47,7 @@ const styles = (theme: Theme) => }); const TenantLicense = ({ classes }: ITenantLicense) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const loadingTenant = useSelector( (state: AppState) => state.tenants.loadingTenant diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantLogging.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantLogging.tsx index 04e613517b..723e1ec806 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantLogging.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantLogging.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { Fragment, useEffect, useState } from "react"; -import { connect, useDispatch, useSelector } from "react-redux"; +import { connect, useSelector } from "react-redux"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import { Theme } from "@mui/material/styles"; @@ -30,7 +30,7 @@ import { DialogContentText } from "@mui/material"; import Paper from "@mui/material/Paper"; import api from "../../../../common/api"; import { ITenantLogsStruct } from "../ListTenants/types"; -import { AppState } from "../../../../store"; +import { AppState, useAppDispatch } from "../../../../store"; import { ErrorResponseHandler } from "../../../../common/types"; import { EditIcon } from "../../../../icons"; import EditTenantLogsModal from "./EditTenantLogsModal"; @@ -59,7 +59,7 @@ const styles = (theme: Theme) => }); const TenantLogging = ({ classes }: ITenantLogs) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const params = useParams(); const loadingTenant = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantMonitoring.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantMonitoring.tsx index 86825c8f22..247a8eac47 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantMonitoring.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantMonitoring.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"; @@ -42,7 +42,7 @@ import RBIconButton from "../../Buckets/BucketDetails/SummaryItems/RBIconButton" import Loader from "../../Common/Loader/Loader"; import { setErrorSnackMessage } from "../../../../systemSlice"; import { useParams } from "react-router-dom"; -import { AppState } from "../../../../store"; +import { AppState, useAppDispatch } from "../../../../store"; interface ITenantMonitoring { classes: any; @@ -60,7 +60,7 @@ const styles = (theme: Theme) => }); const TenantMonitoring = ({ classes }: ITenantMonitoring) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const { tenantName, tenantNamespace } = useParams(); const loadingTenant = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSecurity.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSecurity.tsx index 70614dc62e..18bf708039 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSecurity.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSecurity.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { Fragment, useCallback, useEffect, useState } from "react"; -import { connect, useDispatch, useSelector } from "react-redux"; +import { connect, useSelector } from "react-redux"; import { Theme } from "@mui/material/styles"; import { Button, DialogContentText } from "@mui/material"; import createStyles from "@mui/styles/createStyles"; @@ -33,7 +33,7 @@ import { } from "../../Common/FormComponents/common/styleLibrary"; import { KeyPair } from "../ListTenants/utils"; -import { AppState } from "../../../../store"; +import { AppState, useAppDispatch } from "../../../../store"; import { ErrorResponseHandler } from "../../../../common/types"; import { AddIcon, ConfirmModalIcon } from "../../../../icons"; import { setErrorSnackMessage } from "../../../../systemSlice"; @@ -77,7 +77,7 @@ const styles = (theme: Theme) => }); const TenantSecurity = ({ classes }: ITenantSecurity) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const tenant = useSelector((state: AppState) => state.tenants.tenantInfo); const loadingTenant = useSelector( diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSummary.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSummary.tsx index 0b877f03d0..fb6e6c4283 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSummary.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSummary.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 get from "lodash/get"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; @@ -26,7 +26,7 @@ import { } from "../../Common/FormComponents/common/styleLibrary"; import { Box, Grid } from "@mui/material"; import UpdateTenantModal from "./UpdateTenantModal"; -import { AppState } from "../../../../store"; +import { AppState, useAppDispatch } from "../../../../store"; import AButton from "../../Common/AButton/AButton"; import SummaryUsageBar from "../../Common/UsageBarWrapper/SummaryUsageBar"; import LabelValuePair from "../../Common/UsageBarWrapper/LabelValuePair"; @@ -182,7 +182,7 @@ const featureItemStyleProps = { }, }; const TenantSummary = ({ classes }: ITenantsSummary) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const { tenantName, tenantNamespace } = useParams(); const tenant = useSelector((state: AppState) => state.tenants.tenantInfo); diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantYAML.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantYAML.tsx index c8b6bad22f..2522cd3528 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantYAML.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantYAML.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 Grid from "@mui/material/Grid"; import { Button, LinearProgress } from "@mui/material"; @@ -30,7 +30,7 @@ import { import { ErrorResponseHandler } from "../../../../common/types"; import CodeMirrorWrapper from "../../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper"; import { setModalErrorSnackMessage } from "../../../../systemSlice"; -import { AppState } from "../../../../store"; +import { AppState, useAppDispatch } from "../../../../store"; import { getTenantAsync } from "../thunks/tenantDetailsAsync"; import SectionTitle from "../../Common/SectionTitle"; @@ -64,7 +64,7 @@ interface ITenantYAMLProps { } const TenantYAML = ({ classes }: ITenantYAMLProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const tenant = useSelector((state: AppState) => state.tenants.currentTenant); diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/UpdateTenantModal.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/UpdateTenantModal.tsx index af6f027a40..9c9cb9561f 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/UpdateTenantModal.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/UpdateTenantModal.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 { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; @@ -30,6 +30,7 @@ import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBo import FormSwitchWrapper from "../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import api from "../../../../common/api"; import { setModalErrorSnackMessage } from "../../../../systemSlice"; +import { useAppDispatch } from "../../../../store"; interface IUpdateTenantModal { open: boolean; @@ -55,7 +56,7 @@ const UpdateTenantModal = ({ idTenant, classes, }: IUpdateTenantModal) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const [isSending, setIsSending] = useState(false); const [minioImage, setMinioImage] = useState(""); const [imageRegistry, setImageRegistry] = useState(false); diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/VolumesSummary.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/VolumesSummary.tsx index 5a2d3a131a..63de107979 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/VolumesSummary.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/VolumesSummary.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"; @@ -33,7 +33,7 @@ import TableWrapper from "../../Common/TableWrapper/TableWrapper"; import SearchIcon from "../../../../icons/SearchIcon"; import { IPodListElement } from "../ListTenants/types"; import withSuspense from "../../Common/Components/withSuspense"; -import { AppState } from "../../../../store"; +import { AppState, useAppDispatch } from "../../../../store"; import { setErrorSnackMessage } from "../../../../systemSlice"; import { useNavigate, useParams } from "react-router-dom"; @@ -51,7 +51,7 @@ const styles = (theme: Theme) => }); const TenantVolumes = ({ classes }: ITenantVolumesProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const { tenantName, tenantNamespace } = useParams(); diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/pods/PodDescribe.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/pods/PodDescribe.tsx index 219eefdd67..9eb415ea88 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/pods/PodDescribe.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/pods/PodDescribe.tsx @@ -39,8 +39,8 @@ import Paper from "@mui/material/Paper"; import { ErrorResponseHandler } from "../../../../../common/types"; import api from "../../../../../common/api"; import LabelValuePair from "../../../Common/UsageBarWrapper/LabelValuePair"; -import { useDispatch, useSelector } from "react-redux"; -import { AppState } from "../../../../../store"; +import { useSelector } from "react-redux"; +import { AppState, useAppDispatch } from "../../../../../store"; import { setErrorSnackMessage } from "../../../../../systemSlice"; interface IPodEventsProps { @@ -404,7 +404,7 @@ const PodDescribe = ({ podName, propLoading, }: IPodEventsProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const loadingTenant = useSelector( (state: AppState) => state.tenants.loadingTenant ); diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/pods/PodEvents.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/pods/PodEvents.tsx index c3fd5d5079..2ec5ea641f 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/pods/PodEvents.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/pods/PodEvents.tsx @@ -15,7 +15,7 @@ // 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 { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; @@ -30,7 +30,7 @@ import { IEvent } from "../../ListTenants/types"; import { niceDays } from "../../../../../common/utils"; import { ErrorResponseHandler } from "../../../../../common/types"; import api from "../../../../../common/api"; -import { AppState } from "../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../store"; import EventsList from "../events/EventsList"; import { setErrorSnackMessage } from "../../../../../systemSlice"; @@ -61,7 +61,7 @@ const PodEvents = ({ podName, propLoading, }: IPodEventsProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const loadingTenant = useSelector( (state: AppState) => state.tenants.loadingTenant ); diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/pods/PodLogs.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/pods/PodLogs.tsx index 7c63c891cf..f6aa1f92c8 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/pods/PodLogs.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/pods/PodLogs.tsx @@ -15,7 +15,7 @@ // 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 { Theme } from "@mui/material/styles"; import { AutoSizer, @@ -38,7 +38,7 @@ import { searchField, } from "../../../Common/FormComponents/common/styleLibrary"; import { ErrorResponseHandler } from "../../../../../common/types"; -import { AppState } from "../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../store"; import { setErrorSnackMessage } from "../../../../../systemSlice"; interface IPodLogsProps { @@ -90,7 +90,7 @@ const PodLogs = ({ podName, propLoading, }: IPodLogsProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const loadingTenant = useSelector( (state: AppState) => state.tenants.loadingTenant ); diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/pvcs/PVCDescribe.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/pvcs/PVCDescribe.tsx index ec64b0ec51..2b45fe12f9 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/pvcs/PVCDescribe.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/pvcs/PVCDescribe.tsx @@ -30,11 +30,11 @@ import Grid from "@mui/material/Grid"; import Chip from "@mui/material/Chip"; import Tabs from "@mui/material/Tabs"; import Tab from "@mui/material/Tab"; -import { useDispatch } from "react-redux"; + import { setErrorSnackMessage } from "../../../../../systemSlice"; import { ErrorResponseHandler } from "../../../../../common/types"; import api from "../../../../../common/api"; -import { AppState } from "../../../../../store"; +import { AppState, useAppDispatch } from "../../../../../store"; import LabelValuePair from "../../../Common/UsageBarWrapper/LabelValuePair"; import { IPVCDescribeProps, @@ -151,7 +151,7 @@ const PVCDescribe = ({ const [describeInfo, setDescribeInfo] = useState(); const [loading, setLoading] = useState(true); const [curTab, setCurTab] = useState(0); - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); useEffect(() => { if (propLoading) { diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/pvcs/TenantVolumes.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/pvcs/TenantVolumes.tsx index b43d58ce17..18049be7a2 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/pvcs/TenantVolumes.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/pvcs/TenantVolumes.tsx @@ -30,8 +30,9 @@ import { niceDays } from "../../../../../common/utils"; import { ErrorResponseHandler } from "../../../../../common/types"; import EventsList from "../events/EventsList"; import PVCDescribe from "./PVCDescribe"; -import { useDispatch } from "react-redux"; + import { setErrorSnackMessage } from "../../../../../systemSlice"; +import { useAppDispatch } from "../../../../../store"; interface IPVCDetailsProps { classes: any; @@ -47,7 +48,7 @@ const styles = (theme: Theme) => }); const TenantVolumes = ({ classes }: IPVCDetailsProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const { tenantName, PVCName, tenantNamespace } = useParams(); const [curTab, setCurTab] = useState(0); diff --git a/portal-ui/src/screens/Console/Tools/Inspect.tsx b/portal-ui/src/screens/Console/Tools/Inspect.tsx index 4b0462975b..d5b6d45d25 100644 --- a/portal-ui/src/screens/Console/Tools/Inspect.tsx +++ b/portal-ui/src/screens/Console/Tools/Inspect.tsx @@ -29,7 +29,7 @@ import { modalStyleUtils, } from "../Common/FormComponents/common/styleLibrary"; import withStyles from "@mui/styles/withStyles"; -import { useDispatch, useSelector } from "react-redux"; +import { useSelector } from "react-redux"; import HelpBox from "../../../common/HelpBox"; import { deleteCookie, @@ -41,6 +41,7 @@ import DistributedOnly from "../Common/DistributedOnly/DistributedOnly"; import { InspectMenuIcon } from "../../../icons/SidebarMenus"; import KeyRevealer from "./KeyRevealer"; import { selDistSet, setErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; const styles = (theme: Theme) => createStyles({ @@ -91,7 +92,7 @@ const ExampleBlock = ({ }; const Inspect = ({ classes }: { classes: any }) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const distributedSetup = useSelector(selDistSet); const [volumeName, setVolumeName] = useState(""); const [inspectPath, setInspectPath] = useState(""); diff --git a/portal-ui/src/screens/Console/Trace/Trace.tsx b/portal-ui/src/screens/Console/Trace/Trace.tsx index 57961d33d1..5d36ea9efa 100644 --- a/portal-ui/src/screens/Console/Trace/Trace.tsx +++ b/portal-ui/src/screens/Console/Trace/Trace.tsx @@ -17,8 +17,8 @@ import React, { Fragment, useState } from "react"; import { Box, Grid } from "@mui/material"; import { IMessageEvent, w3cwebsocket as W3CWebSocket } from "websocket"; -import { AppState } from "../../../store"; -import { useDispatch, useSelector } from "react-redux"; +import { AppState, useAppDispatch } from "../../../store"; +import { useSelector } from "react-redux"; import { TraceMessage } from "./types"; import { Theme } from "@mui/material/styles"; @@ -115,7 +115,7 @@ interface ITrace { var c: any = null; const Trace = ({ classes }: ITrace) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const messages = useSelector((state: AppState) => state.trace.messages); const traceStarted = useSelector( diff --git a/portal-ui/src/screens/Console/Users/AddUserScreen.tsx b/portal-ui/src/screens/Console/Users/AddUserScreen.tsx index 53be33de90..831c06d180 100644 --- a/portal-ui/src/screens/Console/Users/AddUserScreen.tsx +++ b/portal-ui/src/screens/Console/Users/AddUserScreen.tsx @@ -33,7 +33,6 @@ import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWr import PolicySelectors from "../Policies/PolicySelectors"; import BackLink from "../../../common/BackLink"; import GroupsSelectors from "./GroupsSelectors"; -import { useDispatch } from "react-redux"; import RemoveRedEyeIcon from "@mui/icons-material/RemoveRedEye"; import VisibilityOffIcon from "@mui/icons-material/VisibilityOff"; @@ -45,6 +44,7 @@ import FormLayout from "../Common/FormLayout"; import AddUserHelpBox from "./AddUserHelpBox"; import { setErrorSnackMessage } from "../../../systemSlice"; import { useNavigate } from "react-router-dom"; +import { useAppDispatch } from "../../../store"; interface IAddUserProps { classes: any; @@ -70,7 +70,7 @@ const styles = (theme: Theme) => }); const AddUser = ({ classes }: IAddUserProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const [addLoading, setAddLoading] = useState(false); diff --git a/portal-ui/src/screens/Console/Users/AddUserServiceAccountScreen.tsx b/portal-ui/src/screens/Console/Users/AddUserServiceAccountScreen.tsx index 61d66fee75..a43bb96943 100644 --- a/portal-ui/src/screens/Console/Users/AddUserServiceAccountScreen.tsx +++ b/portal-ui/src/screens/Console/Users/AddUserServiceAccountScreen.tsx @@ -37,7 +37,7 @@ import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWr import FormSwitchWrapper from "../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import BackLink from "../../../common/BackLink"; import { NewServiceAccount } from "../Common/CredentialsPrompt/types"; -import { useDispatch } from "react-redux"; + import RemoveRedEyeIcon from "@mui/icons-material/RemoveRedEye"; import VisibilityOffIcon from "@mui/icons-material/VisibilityOff"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; @@ -49,6 +49,7 @@ import { getRandomString } from "../../../screens/Console/Tenants/utils"; import AddUserServiceAccountHelpBox from "./AddUserServiceAccountHelpBox"; import { decodeURLString, encodeURLString } from "../../../common/utils"; import { setErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; interface IAddServiceAccountProps { classes: any; @@ -74,7 +75,7 @@ const styles = (theme: Theme) => }); const AddServiceAccount = ({ classes }: IAddServiceAccountProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const params = useParams(); const navigate = useNavigate(); diff --git a/portal-ui/src/screens/Console/Users/BulkAddToGroup.tsx b/portal-ui/src/screens/Console/Users/BulkAddToGroup.tsx index 6d37006393..cb1b7edc04 100644 --- a/portal-ui/src/screens/Console/Users/BulkAddToGroup.tsx +++ b/portal-ui/src/screens/Console/Users/BulkAddToGroup.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { 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"; @@ -32,6 +32,7 @@ import ModalWrapper from "../Common/ModalWrapper/ModalWrapper"; import PredefinedList from "../Common/FormComponents/PredefinedList/PredefinedList"; import { AddMembersToGroupIcon } from "../../../icons"; import { setModalErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; interface IAddToGroup { open: boolean; @@ -52,7 +53,7 @@ const BulkAddToGroup = ({ closeModalAndRefresh, classes, }: IAddToGroup) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); //Local States const [saving, isSaving] = useState(false); const [accepted, setAccepted] = useState(false); diff --git a/portal-ui/src/screens/Console/Users/ChangeUserGroups.tsx b/portal-ui/src/screens/Console/Users/ChangeUserGroups.tsx index 1daeb1f869..5e707d73fc 100644 --- a/portal-ui/src/screens/Console/Users/ChangeUserGroups.tsx +++ b/portal-ui/src/screens/Console/Users/ChangeUserGroups.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { useCallback, useEffect, useState } from "react"; -import { useDispatch } from "react-redux"; + import Grid from "@mui/material/Grid"; import { Button, LinearProgress } from "@mui/material"; import { Theme } from "@mui/material/styles"; @@ -32,6 +32,7 @@ import ModalWrapper from "../Common/ModalWrapper/ModalWrapper"; import AddMembersToGroup from "../../../icons/AddMembersToGroupIcon"; import { encodeURLString } from "../../../common/utils"; import { setModalErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; const styles = (theme: Theme) => createStyles({ @@ -55,7 +56,7 @@ const ChangeUserGroups = ({ selectedUser, open, }: IChangeUserGroupsContentProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const [addLoading, setAddLoading] = useState(false); const [accessKey, setAccessKey] = useState(""); const [secretKey, setSecretKey] = useState(""); diff --git a/portal-ui/src/screens/Console/Users/DeleteMultipleServiceAccounts.tsx b/portal-ui/src/screens/Console/Users/DeleteMultipleServiceAccounts.tsx index da5bcaebaf..e453fa8bc8 100644 --- a/portal-ui/src/screens/Console/Users/DeleteMultipleServiceAccounts.tsx +++ b/portal-ui/src/screens/Console/Users/DeleteMultipleServiceAccounts.tsx @@ -14,13 +14,14 @@ // You should have received a copy of the GNU Affero General Public License // 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"; import useApi from "../../../screens/Console/Common/Hooks/useApi"; import ConfirmDialog from "../../../screens/Console/Common/ModalWrapper/ConfirmDialog"; import { ConfirmDeleteIcon } from "../../../icons"; import { setErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; interface IDeleteMultiSAsProps { closeDeleteModalAndRefresh: (refresh: boolean) => void; @@ -33,7 +34,7 @@ const DeleteMultipleSAs = ({ deleteOpen, selectedSAs, }: IDeleteMultiSAsProps) => { - 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/Users/DeleteUserModal.tsx b/portal-ui/src/screens/Console/Users/DeleteUserModal.tsx index f47f2e19ad..17b77a7978 100644 --- a/portal-ui/src/screens/Console/Users/DeleteUserModal.tsx +++ b/portal-ui/src/screens/Console/Users/DeleteUserModal.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React from "react"; -import { useDispatch } from "react-redux"; + import { useNavigate } from "react-router-dom"; import { DialogContentText } from "@mui/material"; import { ErrorResponseHandler } from "../../../common/types"; @@ -25,6 +25,7 @@ import { ConfirmDeleteIcon } from "../../../icons"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; import { encodeURLString } from "../../../common/utils"; import { setErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; interface IDeleteUserStringProps { closeDeleteModalAndRefresh: (refresh: boolean) => void; @@ -37,7 +38,7 @@ const DeleteUserModal = ({ deleteOpen, userName, }: IDeleteUserStringProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const onDelSuccess = () => { diff --git a/portal-ui/src/screens/Console/Users/GroupsSelectors.tsx b/portal-ui/src/screens/Console/Users/GroupsSelectors.tsx index f8bc88f1b9..a143166ee4 100644 --- a/portal-ui/src/screens/Console/Users/GroupsSelectors.tsx +++ b/portal-ui/src/screens/Console/Users/GroupsSelectors.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { useCallback, 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"; @@ -35,6 +35,7 @@ import api from "../../../common/api"; import TableWrapper from "../Common/TableWrapper/TableWrapper"; import SearchBox from "../Common/SearchBox"; import { setModalErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; interface IGroupsProps { classes: any; @@ -73,7 +74,7 @@ const GroupsSelectors = ({ selectedGroups, setSelectedGroups, }: IGroupsProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); // Local State const [records, setRecords] = useState([]); const [loading, isLoading] = useState(false); diff --git a/portal-ui/src/screens/Console/Users/ListUsers.tsx b/portal-ui/src/screens/Console/Users/ListUsers.tsx index 25cc6a123b..58badbacfd 100644 --- a/portal-ui/src/screens/Console/Users/ListUsers.tsx +++ b/portal-ui/src/screens/Console/Users/ListUsers.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 { useNavigate } from "react-router-dom"; import createStyles from "@mui/styles/createStyles"; @@ -54,6 +54,7 @@ import { SecureComponent, } from "../../../common/SecureComponent"; import { setErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; const DeleteUser = withSuspense(React.lazy(() => import("./DeleteUser"))); const AddToGroup = withSuspense(React.lazy(() => import("./BulkAddToGroup"))); @@ -76,7 +77,7 @@ interface IUsersProps { } const ListUsers = ({ classes }: IUsersProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const [records, setRecords] = useState([]); diff --git a/portal-ui/src/screens/Console/Users/SetUserPolicies.tsx b/portal-ui/src/screens/Console/Users/SetUserPolicies.tsx index 775fe5998c..8ceb6929a9 100644 --- a/portal-ui/src/screens/Console/Users/SetUserPolicies.tsx +++ b/portal-ui/src/screens/Console/Users/SetUserPolicies.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { 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"; @@ -28,6 +28,7 @@ import ModalWrapper from "../Common/ModalWrapper/ModalWrapper"; import api from "../../../common/api"; import PolicySelectors from "../Policies/PolicySelectors"; import { setModalErrorSnackMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; interface ISetUserPoliciesProps { classes: any; @@ -53,7 +54,7 @@ const SetUserPolicies = ({ currentPolicies, open, }: ISetUserPoliciesProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); //Local States const [loading, setLoading] = useState(false); const [actualPolicy, setActualPolicy] = useState([]); diff --git a/portal-ui/src/screens/Console/Users/UserDetails.tsx b/portal-ui/src/screens/Console/Users/UserDetails.tsx index b83092da05..23f196eb0e 100644 --- a/portal-ui/src/screens/Console/Users/UserDetails.tsx +++ b/portal-ui/src/screens/Console/Users/UserDetails.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 { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; @@ -60,6 +60,7 @@ import { IAM_SCOPES, } from "../../../common/SecureComponent/permissions"; import { hasPermission } from "../../../common/SecureComponent"; +import { useAppDispatch } from "../../../store"; const styles = (theme: Theme) => createStyles({ @@ -90,7 +91,7 @@ interface IGroupItem { } const UserDetails = ({ classes }: IUserDetailsProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const params = useParams(); const navigate = useNavigate(); diff --git a/portal-ui/src/screens/Console/Users/UserServiceAccountsPanel.tsx b/portal-ui/src/screens/Console/Users/UserServiceAccountsPanel.tsx index f7a655950e..60437101d5 100644 --- a/portal-ui/src/screens/Console/Users/UserServiceAccountsPanel.tsx +++ b/portal-ui/src/screens/Console/Users/UserServiceAccountsPanel.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { useEffect, useState } from "react"; -import { useDispatch } from "react-redux"; + import { Theme } from "@mui/material/styles"; import { Box } from "@mui/material"; import { useNavigate } from "react-router-dom"; @@ -47,6 +47,7 @@ import { import { SecureComponent } from "../../../common/SecureComponent"; import { encodeURLString } from "../../../common/utils"; import { setErrorSnackMessage, setSnackBarMessage } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; interface IUserServiceAccountsProps { classes: any; @@ -69,7 +70,7 @@ const UserServiceAccountsPanel = ({ user, hasPolicy, }: IUserServiceAccountsProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const [records, setRecords] = useState([]); diff --git a/portal-ui/src/screens/Console/Watch/Watch.tsx b/portal-ui/src/screens/Console/Watch/Watch.tsx index d732985a83..0319c93bf1 100644 --- a/portal-ui/src/screens/Console/Watch/Watch.tsx +++ b/portal-ui/src/screens/Console/Watch/Watch.tsx @@ -24,11 +24,11 @@ import { TextField, } from "@mui/material"; import { IMessageEvent, w3cwebsocket as W3CWebSocket } from "websocket"; -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"; -import { AppState } from "../../../store"; +import { AppState, useAppDispatch } from "../../../store"; import { Bucket, BucketList, EventInfo } from "./types"; import { niceBytes, timeFromDate } from "../../../common/utils"; import { wsProtocol } from "../../../utils/wsUtils"; @@ -86,7 +86,7 @@ const SelectStyled = withStyles((theme: Theme) => )(InputBase); const Watch = () => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const classes = useStyles(); const messages = useSelector((state: AppState) => state.watch.messages); diff --git a/portal-ui/src/screens/LoginPage/LoginPage.tsx b/portal-ui/src/screens/LoginPage/LoginPage.tsx index 9cf68905c1..4091b5e3a9 100644 --- a/portal-ui/src/screens/LoginPage/LoginPage.tsx +++ b/portal-ui/src/screens/LoginPage/LoginPage.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { useEffect, useState } from "react"; -import { useDispatch } from "react-redux"; + import { useNavigate } from "react-router-dom"; import { Box, @@ -52,6 +52,7 @@ import GithubIcon from "../../icons/GithubIcon"; import clsx from "clsx"; import Loader from "../Console/Common/Loader/Loader"; import { setErrorSnackMessage, userLogged } from "../../systemSlice"; +import { useAppDispatch } from "../../store"; const styles = (theme: Theme) => createStyles({ @@ -286,7 +287,7 @@ interface LoginStrategyPayload { } const Login = ({ classes }: ILoginProps) => { - const dispatch = useDispatch(); + const dispatch = useAppDispatch(); const navigate = useNavigate(); const [accessKey, setAccessKey] = useState(""); diff --git a/portal-ui/src/store.ts b/portal-ui/src/store.ts index b73808f402..3e6d1ebd27 100644 --- a/portal-ui/src/store.ts +++ b/portal-ui/src/store.ts @@ -13,6 +13,8 @@ // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . +import { useDispatch } from "react-redux"; +import { combineReducers, configureStore } from "@reduxjs/toolkit"; import systemReducer from "./systemSlice"; import traceReducer from "./screens/Console/Trace/traceSlice"; @@ -25,7 +27,6 @@ import bucketDetailsReducer from "./screens/Console/Buckets/BucketDetails/bucket import objectBrowserReducer from "./screens/Console/ObjectBrowser/objectBrowserSlice"; import tenantsReducer from "./screens/Console/Tenants/tenantsSlice"; import dashboardReducer from "./screens/Console/Dashboard/dashboardSlice"; -import { combineReducers, configureStore } from "@reduxjs/toolkit"; import createTenantReducer from "./screens/Console/Tenants/AddTenant/createTenantSlice"; import addPoolReducer from "./screens/Console/Tenants/TenantDetails/Pools/AddPool/addPoolSlice"; import editPoolReducer from "./screens/Console/Tenants/TenantDetails/Pools/EditPool/editPoolSlice"; @@ -61,5 +62,6 @@ if (process.env.NODE_ENV !== "production" && module.hot) { export type AppState = ReturnType; export type AppDispatch = typeof store.dispatch; +export const useAppDispatch = () => useDispatch(); export default store;