From 34907856c5298c2d8c22d6aa1f5e6951a2cd7e24 Mon Sep 17 00:00:00 2001 From: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com> Date: Wed, 1 Feb 2023 12:14:47 -0800 Subject: [PATCH] Use MDS's BackLink (#2615) Signed-off-by: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com> --- portal-ui/src/common/BackLink.tsx | 117 ------------------ .../Account/AddServiceAccountScreen.tsx | 11 +- .../Buckets/BucketDetails/BucketDetails.tsx | 25 ++-- .../ListBuckets/AddBucket/AddBucket.tsx | 24 +++- .../SiteReplication/AddReplicationSites.tsx | 5 +- .../SiteReplication/SiteReplicationStatus.tsx | 9 +- .../AddTierConfiguration.tsx | 9 +- .../TiersConfiguration/TierTypeSelector.tsx | 8 +- .../screens/Console/Groups/AddGroupScreen.tsx | 10 +- .../Console/Groups/GroupDetailsHeader.tsx | 23 ++-- .../Console/IDP/AddIDPConfiguration.tsx | 7 +- .../Console/IDP/AddIDPOpenIDConfiguration.tsx | 16 +-- .../Console/IDP/IDPConfigurationDetails.tsx | 7 +- .../IDP/IDPLDAPConfigurationDetails.tsx | 16 +-- .../Console/IDP/IDPLDAPConfigurations.tsx | 14 +-- .../IDP/IDPOpenIDConfigurationDetails.tsx | 16 +-- .../Console/IDP/IDPOpenIDConfigurations.tsx | 14 +-- portal-ui/src/screens/Console/KMS/AddKey.tsx | 10 +- .../src/screens/Console/KMS/ImportKey.tsx | 10 +- portal-ui/src/screens/Console/KMS/Status.tsx | 7 +- .../screens/Console/License/LicensePlans.tsx | 17 +-- .../AddNotificationEndpoint.tsx | 6 +- .../NotificationTypeSelector.tsx | 7 +- .../Console/ObjectBrowser/OBHeader.tsx | 14 +-- .../Console/Policies/AddPolicyScreen.tsx | 11 +- .../Console/Policies/PolicyDetails.tsx | 9 +- .../Console/Tenants/AddTenant/AddTenant.tsx | 10 +- .../TenantDetails/Pools/AddPool/AddPool.tsx | 9 +- .../TenantDetails/Pools/EditPool/EditPool.tsx | 8 +- .../Tenants/TenantDetails/PoolsSummary.tsx | 13 +- .../Tenants/TenantDetails/TenantDetails.tsx | 9 +- .../screens/Console/Users/AddUserScreen.tsx | 13 +- .../Users/AddUserServiceAccountScreen.tsx | 8 +- .../src/screens/Console/Users/UserDetails.tsx | 8 +- 34 files changed, 192 insertions(+), 308 deletions(-) delete mode 100644 portal-ui/src/common/BackLink.tsx diff --git a/portal-ui/src/common/BackLink.tsx b/portal-ui/src/common/BackLink.tsx deleted file mode 100644 index 200800d0f..000000000 --- a/portal-ui/src/common/BackLink.tsx +++ /dev/null @@ -1,117 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// 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 { Link } from "react-router-dom"; -import { Theme } from "@mui/material/styles"; -import createStyles from "@mui/styles/createStyles"; -import withStyles from "@mui/styles/withStyles"; -import { BackSettingsIcon } from "mds"; -import { Box } from "@mui/material"; - -const styles = (theme: Theme) => - createStyles({ - label: { - lineHeight: 1, - alignItems: "center", - paddingTop: 1, - fontSize: "14px", - fontWeight: 600, - color: theme.palette.primary.light, - marginRight: "10px", - }, - }); - -interface IBackLink { - classes: any; - to: string; - label: string; - className?: any; - executeOnClick?: () => void; -} - -const BackLink = ({ - to, - label, - classes, - className, - executeOnClick, -}: IBackLink) => { - return ( - - { - if (executeOnClick) { - executeOnClick(); - } - }} - > -
- - - -
{label}
-
- -
- ); -}; - -export default withStyles(styles)(BackLink); diff --git a/portal-ui/src/screens/Console/Account/AddServiceAccountScreen.tsx b/portal-ui/src/screens/Console/Account/AddServiceAccountScreen.tsx index 89a2b623d..1bed89124 100644 --- a/portal-ui/src/screens/Console/Account/AddServiceAccountScreen.tsx +++ b/portal-ui/src/screens/Console/Account/AddServiceAccountScreen.tsx @@ -17,7 +17,7 @@ import React, { Fragment, useEffect, useState } from "react"; import { Theme } from "@mui/material/styles"; import { useNavigate } from "react-router-dom"; -import { Button, PageHeader } from "mds"; +import { BackLink, Button, PageHeader } from "mds"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import { @@ -36,7 +36,7 @@ import PageLayout from "../Common/Layout/PageLayout"; import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import FormSwitchWrapper from "../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import AddServiceAccountHelpBox from "./AddServiceAccountHelpBox"; -import BackLink from "../../../common/BackLink"; + import { NewServiceAccount } from "../Common/CredentialsPrompt/types"; import RemoveRedEyeIcon from "@mui/icons-material/RemoveRedEye"; import VisibilityOffIcon from "@mui/icons-material/VisibilityOff"; @@ -153,7 +153,12 @@ const AddServiceAccount = ({ classes }: IAddServiceAccountProps) => { )} } + label={ + navigate(IAM_PAGES.ACCOUNT)} + /> + } /> { /> )} } + label={ + navigate("/buckets")} /> + } actions={ { return ( - } /> + navigate("/buckets")} /> + } + /> { navigate(IAM_PAGES.SITE_REPLICATION)} /> } /> diff --git a/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplicationStatus.tsx b/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplicationStatus.tsx index 9581794c7..031a91342 100644 --- a/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplicationStatus.tsx +++ b/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplicationStatus.tsx @@ -16,10 +16,10 @@ import React, { Fragment, useEffect, useState } from "react"; import { Box, Grid } from "@mui/material"; -import { Button, PageHeader } from "mds"; +import { BackLink, Button, PageHeader } from "mds"; import PageLayout from "../../Common/Layout/PageLayout"; import useApi from "../../Common/Hooks/useApi"; -import BackLink from "../../../../common/BackLink"; + import { IAM_PAGES } from "../../../../common/SecureComponent/permissions"; import ScreenTitle from "../../Common/ScreenTitle/ScreenTitle"; import StatusCountCard from "../../Dashboard/BasicDashboard/StatusCountCard"; @@ -33,6 +33,7 @@ import { import EntityReplicationLookup from "./EntityReplicationLookup"; import { Loader } from "mds"; import TooltipWrapper from "../../Common/TooltipWrapper/TooltipWrapper"; +import { useNavigate } from "react-router-dom"; export type StatsResponseType = { maxBuckets?: number; @@ -81,6 +82,8 @@ const SREntityStatus = ({ }; const SiteReplicationStatus = () => { + const navigate = useNavigate(); + const [stats, setStats] = useState({}); const [isStatsLoading, invokeSiteStatsApi] = useApi( @@ -118,8 +121,8 @@ const SiteReplicationStatus = () => { navigate(IAM_PAGES.SITE_REPLICATION)} /> } /> diff --git a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx index 77348373d..49cb605f8 100644 --- a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx +++ b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx @@ -20,7 +20,7 @@ import { useNavigate, useParams } from "react-router-dom"; import get from "lodash/get"; import Grid from "@mui/material/Grid"; import { Theme } from "@mui/material/styles"; -import { Button, PageHeader } from "mds"; +import { BackLink, Button, PageHeader } from "mds"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import { Box } from "@mui/material"; @@ -41,7 +41,7 @@ import { s3ServiceName, tierTypes, } from "./utils"; -import BackLink from "../../../../common/BackLink"; + import PageLayout from "../../Common/Layout/PageLayout"; import { IAM_PAGES } from "../../../../common/SecureComponent/permissions"; @@ -314,7 +314,10 @@ const AddTierConfiguration = ({ classes }: IAddNotificationEndpointProps) => { - + navigate(IAM_PAGES.TIERS_ADD)} + /> } actions={} diff --git a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/TierTypeSelector.tsx b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/TierTypeSelector.tsx index 9e1c63faf..5d394788a 100644 --- a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/TierTypeSelector.tsx +++ b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/TierTypeSelector.tsx @@ -19,10 +19,9 @@ import { useNavigate } from "react-router-dom"; import { Box } from "@mui/material"; import { tierTypes } from "./utils"; import { IAM_PAGES } from "../../../../common/SecureComponent/permissions"; -import BackLink from "../../../../common/BackLink"; import PageLayout from "../../Common/Layout/PageLayout"; import TierTypeCard from "./TierTypeCard"; -import { HelpBox, PageHeader, TiersIcon } from "mds"; +import { BackLink, HelpBox, PageHeader, TiersIcon } from "mds"; import FormLayout from "../../Common/FormLayout"; const TierTypeSelector = () => { @@ -37,7 +36,10 @@ const TierTypeSelector = () => { - + navigate(IAM_PAGES.TIERS)} + /> } actions={} diff --git a/portal-ui/src/screens/Console/Groups/AddGroupScreen.tsx b/portal-ui/src/screens/Console/Groups/AddGroupScreen.tsx index d80a7a0d3..a2f66e816 100644 --- a/portal-ui/src/screens/Console/Groups/AddGroupScreen.tsx +++ b/portal-ui/src/screens/Console/Groups/AddGroupScreen.tsx @@ -25,12 +25,11 @@ import { } from "../Common/FormComponents/common/styleLibrary"; import Grid from "@mui/material/Grid"; import { LinearProgress } from "@mui/material"; -import { Button, PageHeader } from "mds"; +import { BackLink, Button, PageHeader } from "mds"; import PageLayout from "../Common/Layout/PageLayout"; import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import AddGroupHelpBox from "./AddGroupHelpBox"; import UsersSelectors from "./UsersSelectors"; -import BackLink from "../../../common/BackLink"; import { CreateGroupIcon } from "mds"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; @@ -114,7 +113,12 @@ const AddGroupScreen = ({ classes }: IAddGroupProps) => { } + label={ + navigate(IAM_PAGES.GROUPS)} + /> + } /> createStyles({}); - -type DetailsHeaderProps = { - classes: any; -}; - -const GroupDetailsHeader = ({ classes }: DetailsHeaderProps) => { +const GroupDetailsHeader = () => { + const navigate = useNavigate(); return ( - + navigate(IAM_PAGES.GROUPS)} + /> } actions={} @@ -25,4 +20,4 @@ const GroupDetailsHeader = ({ classes }: DetailsHeaderProps) => { ); }; -export default withStyles(styles)(GroupDetailsHeader); +export default GroupDetailsHeader; diff --git a/portal-ui/src/screens/Console/IDP/AddIDPConfiguration.tsx b/portal-ui/src/screens/Console/IDP/AddIDPConfiguration.tsx index aabe15b67..4c1fc8d1f 100644 --- a/portal-ui/src/screens/Console/IDP/AddIDPConfiguration.tsx +++ b/portal-ui/src/screens/Console/IDP/AddIDPConfiguration.tsx @@ -25,7 +25,7 @@ import { modalBasic, } from "../Common/FormComponents/common/styleLibrary"; import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; -import { Button, PageHeader } from "mds"; +import { BackLink, Button, PageHeader } from "mds"; import { useNavigate } from "react-router-dom"; import { ErrorResponseHandler } from "../../../common/types"; import { useAppDispatch } from "../../../store"; @@ -34,7 +34,6 @@ import { setServerNeedsRestart, } from "../../../systemSlice"; import useApi from "../Common/Hooks/useApi"; -import BackLink from "../../../common/BackLink"; import PageLayout from "../Common/Layout/PageLayout"; import SectionTitle from "../Common/SectionTitle"; import FormSwitchWrapper from "../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; @@ -167,7 +166,9 @@ const AddIDPConfiguration = ({ return ( - } /> + navigate(backLink)} label={header} />} + /> . import React from "react"; - -import { Theme } from "@mui/material/styles"; -import createStyles from "@mui/styles/createStyles"; -import withStyles from "@mui/styles/withStyles"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; import { LockIcon } from "mds"; import AddIDPConfiguration from "./AddIDPConfiguration"; import { openIDFormFields, openIDHelpBoxContents } from "./utils"; import AddIDPConfigurationHelpBox from "./AddIDPConfigurationHelpbox"; -type AddIDPOpenIDConfigurationProps = { - classes?: any; -}; - -const styles = (theme: Theme) => createStyles({}); - -const AddIDPOpenIDConfiguration = ({ - classes, -}: AddIDPOpenIDConfigurationProps) => { +const AddIDPOpenIDConfiguration = () => { return ( } @@ -56,4 +44,4 @@ const AddIDPOpenIDConfiguration = ({ ); }; -export default withStyles(styles)(AddIDPOpenIDConfiguration); +export default AddIDPOpenIDConfiguration; diff --git a/portal-ui/src/screens/Console/IDP/IDPConfigurationDetails.tsx b/portal-ui/src/screens/Console/IDP/IDPConfigurationDetails.tsx index dc7e2b361..bf603d89a 100644 --- a/portal-ui/src/screens/Console/IDP/IDPConfigurationDetails.tsx +++ b/portal-ui/src/screens/Console/IDP/IDPConfigurationDetails.tsx @@ -29,7 +29,7 @@ import { pageContentStyles, searchField, } from "../Common/FormComponents/common/styleLibrary"; -import { EditIcon, PageHeader, RefreshIcon, TrashIcon } from "mds"; +import { BackLink, EditIcon, PageHeader, RefreshIcon, TrashIcon } from "mds"; import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import { Button } from "mds"; import { useNavigate, useParams } from "react-router-dom"; @@ -42,7 +42,6 @@ import { import useApi from "../Common/Hooks/useApi"; import api from "../../../common/api"; import PageLayout from "../Common/Layout/PageLayout"; -import BackLink from "../../../common/BackLink"; import ScreenTitle from "../Common/ScreenTitle/ScreenTitle"; import DeleteIDPConfigurationModal from "./DeleteIDPConfigurationModal"; import FormSwitchWrapper from "../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; @@ -378,7 +377,9 @@ const IDPConfigurationDetails = ({ closeDeleteModalAndRefresh={closeDeleteModalAndRefresh} /> )} - } /> + navigate(backLink)} label={header} />} + /> . import React from "react"; - -import { Theme } from "@mui/material/styles"; -import createStyles from "@mui/styles/createStyles"; -import withStyles from "@mui/styles/withStyles"; import { ldapFormFields, ldapHelpBoxContents } from "./utils"; import LoginIcon from "@mui/icons-material/Login"; import IDPConfigurationDetails from "./IDPConfigurationDetails"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; import AddIDPConfigurationHelpBox from "./AddIDPConfigurationHelpbox"; -type IDPLDAPConfigurationDetailsProps = { - classes?: any; -}; - -const styles = (theme: Theme) => createStyles({}); - -const IDPLDAPConfigurationDetails = ({ - classes, -}: IDPLDAPConfigurationDetailsProps) => { +const IDPLDAPConfigurationDetails = () => { return ( . import React from "react"; - -import { Theme } from "@mui/material/styles"; -import createStyles from "@mui/styles/createStyles"; -import withStyles from "@mui/styles/withStyles"; import IDPConfigurations from "./IDPConfigurations"; -type IDPLDAPConfigurationsProps = { - classes?: any; -}; - -const styles = (theme: Theme) => createStyles({}); - -const IDPLDAPConfigurations = ({ classes }: IDPLDAPConfigurationsProps) => { +const IDPLDAPConfigurations = () => { return ; }; -export default withStyles(styles)(IDPLDAPConfigurations); +export default IDPLDAPConfigurations; diff --git a/portal-ui/src/screens/Console/IDP/IDPOpenIDConfigurationDetails.tsx b/portal-ui/src/screens/Console/IDP/IDPOpenIDConfigurationDetails.tsx index 7f73c8aed..6db7ae9ab 100644 --- a/portal-ui/src/screens/Console/IDP/IDPOpenIDConfigurationDetails.tsx +++ b/portal-ui/src/screens/Console/IDP/IDPOpenIDConfigurationDetails.tsx @@ -15,25 +15,13 @@ // along with this program. If not, see . import React from "react"; - -import { Theme } from "@mui/material/styles"; -import createStyles from "@mui/styles/createStyles"; -import withStyles from "@mui/styles/withStyles"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; import { LockIcon } from "mds"; import { openIDFormFields, openIDHelpBoxContents } from "./utils"; import IDPConfigurationDetails from "./IDPConfigurationDetails"; import AddIDPConfigurationHelpBox from "./AddIDPConfigurationHelpbox"; -type IDPOpenIDConfigurationDetailsProps = { - classes?: any; -}; - -const styles = (theme: Theme) => createStyles({}); - -const IDPOpenIDConfigurationDetails = ({ - classes, -}: IDPOpenIDConfigurationDetailsProps) => { +const IDPOpenIDConfigurationDetails = () => { return ( . import React from "react"; - -import { Theme } from "@mui/material/styles"; -import createStyles from "@mui/styles/createStyles"; -import withStyles from "@mui/styles/withStyles"; import IDPConfigurations from "./IDPConfigurations"; -type IDPOpenIDConfigurationsProps = { - classes?: any; -}; - -const styles = (theme: Theme) => createStyles({}); - -const IDPOpenIDConfigurations = ({ classes }: IDPOpenIDConfigurationsProps) => { +const IDPOpenIDConfigurations = () => { return ; }; -export default withStyles(styles)(IDPOpenIDConfigurations); +export default IDPOpenIDConfigurations; diff --git a/portal-ui/src/screens/Console/KMS/AddKey.tsx b/portal-ui/src/screens/Console/KMS/AddKey.tsx index e3764a924..4753ef052 100644 --- a/portal-ui/src/screens/Console/KMS/AddKey.tsx +++ b/portal-ui/src/screens/Console/KMS/AddKey.tsx @@ -17,14 +17,13 @@ import React, { Fragment } from "react"; import Grid from "@mui/material/Grid"; -import BackLink from "../../../common/BackLink"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; import { ErrorResponseHandler } from "../../../common/types"; import { setErrorSnackMessage } from "../../../systemSlice"; import { useNavigate } from "react-router-dom"; import { useAppDispatch } from "../../../store"; import AddKeyForm from "./AddKeyForm"; -import { PageHeader } from "mds"; +import { BackLink, PageHeader } from "mds"; const AddKey = () => { const dispatch = useAppDispatch(); @@ -39,7 +38,12 @@ const AddKey = () => { } + label={ + navigate(IAM_PAGES.KMS_KEYS)} + /> + } /> diff --git a/portal-ui/src/screens/Console/KMS/ImportKey.tsx b/portal-ui/src/screens/Console/KMS/ImportKey.tsx index 3d17696f0..86a3847d7 100644 --- a/portal-ui/src/screens/Console/KMS/ImportKey.tsx +++ b/portal-ui/src/screens/Console/KMS/ImportKey.tsx @@ -18,10 +18,9 @@ import React, { Fragment, useState } from "react"; import { Box } from "@mui/material"; import Grid from "@mui/material/Grid"; -import { AddAccessRuleIcon, Button, PageHeader } from "mds"; +import { BackLink, AddAccessRuleIcon, Button, PageHeader } from "mds"; import PageLayout from "../Common/Layout/PageLayout"; import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; -import BackLink from "../../../common/BackLink"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; import { ErrorResponseHandler } from "../../../common/types"; import FormLayout from "../Common/FormLayout"; @@ -70,7 +69,12 @@ const ImportKey = () => { } + label={ + navigate(IAM_PAGES.KMS_KEYS)} + label={"Keys"} + /> + } /> . import React, { Fragment, useEffect, useState } from "react"; -import { Theme } from "@mui/material/styles"; -import createStyles from "@mui/styles/createStyles"; -import withStyles from "@mui/styles/withStyles"; import { Box, Grid } from "@mui/material"; import PageLayout from "../Common/Layout/PageLayout"; import api from "../../../common/api"; @@ -51,8 +48,6 @@ import { } from "recharts"; import { DisabledIcon, EnabledIcon, PageHeader } from "mds"; -const styles = (theme: Theme) => createStyles({}); - const Status = () => { const dispatch = useAppDispatch(); const [curTab, setCurTab] = useState(0); @@ -431,4 +426,4 @@ const Status = () => { ); }; -export default withStyles(styles)(Status); +export default Status; diff --git a/portal-ui/src/screens/Console/License/LicensePlans.tsx b/portal-ui/src/screens/Console/License/LicensePlans.tsx index a46d67f00..f16ad56af 100644 --- a/portal-ui/src/screens/Console/License/LicensePlans.tsx +++ b/portal-ui/src/screens/Console/License/LicensePlans.tsx @@ -17,19 +17,17 @@ import React, { Fragment, useEffect, useState } from "react"; import clsx from "clsx"; import CheckCircleIcon from "@mui/icons-material/CheckCircle"; -import { Button } from "mds"; -import { Theme, useTheme } from "@mui/material/styles"; -import createStyles from "@mui/styles/createStyles"; -import { SubnetInfo } from "./types"; -import withStyles from "@mui/styles/withStyles"; -import { Box } from "@mui/material"; -import useMediaQuery from "@mui/material/useMediaQuery"; import { AGPLV3Logo, + Button, ConsoleEnterprise, ConsoleStandard, LicenseDocIcon, } from "mds"; +import { useTheme } from "@mui/material/styles"; +import { SubnetInfo } from "./types"; +import { Box } from "@mui/material"; +import useMediaQuery from "@mui/material/useMediaQuery"; import { COMMUNITY_PLAN_FEATURES, ENTERPRISE_PLAN_FEATURES, @@ -40,10 +38,7 @@ import { STANDARD_PLAN_FEATURES, } from "./utils"; -const styles = (theme: Theme) => createStyles({}); - interface IRegisterStatus { - classes: any; activateProductModal: any; closeModalAndFetchLicenseInfo: any; licenseInfo: SubnetInfo | undefined; @@ -732,4 +727,4 @@ const LicensePlans = ({ licenseInfo, operatorMode }: IRegisterStatus) => { ); }; -export default withStyles(styles)(LicensePlans); +export default LicensePlans; diff --git a/portal-ui/src/screens/Console/NotificationEndpoints/AddNotificationEndpoint.tsx b/portal-ui/src/screens/Console/NotificationEndpoints/AddNotificationEndpoint.tsx index fd1d72156..bce86e816 100644 --- a/portal-ui/src/screens/Console/NotificationEndpoints/AddNotificationEndpoint.tsx +++ b/portal-ui/src/screens/Console/NotificationEndpoints/AddNotificationEndpoint.tsx @@ -21,7 +21,7 @@ import Grid from "@mui/material/Grid"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; -import { Button, PageHeader } from "mds"; +import { BackLink, Button, PageHeader } from "mds"; import api from "../../../common/api"; import { @@ -40,7 +40,7 @@ import { ErrorResponseHandler } from "../../../common/types"; import { IElementValue } from "../Configurations/types"; import withSuspense from "../Common/Components/withSuspense"; -import BackLink from "../../../common/BackLink"; + import PageLayout from "../Common/Layout/PageLayout"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; import { @@ -185,8 +185,8 @@ const AddNotificationEndpoint = ({ label={ navigate(IAM_PAGES.NOTIFICATIONS_ENDPOINTS_ADD)} /> } diff --git a/portal-ui/src/screens/Console/NotificationEndpoints/NotificationTypeSelector.tsx b/portal-ui/src/screens/Console/NotificationEndpoints/NotificationTypeSelector.tsx index e4e6b1180..c1bd5d0e7 100644 --- a/portal-ui/src/screens/Console/NotificationEndpoints/NotificationTypeSelector.tsx +++ b/portal-ui/src/screens/Console/NotificationEndpoints/NotificationTypeSelector.tsx @@ -24,13 +24,12 @@ import { settingsCommon, typesSelection, } from "../Common/FormComponents/common/styleLibrary"; -import BackLink from "../../../common/BackLink"; import PageLayout from "../Common/Layout/PageLayout"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; import ContentBox from "../Common/ContentBox"; import { Box } from "@mui/material"; import NotificationEndpointTypeSelectorHelpBox from "../Account/NotificationEndpointTypeSelectorHelpBox"; -import { PageHeader } from "mds"; +import { BackLink, PageHeader } from "mds"; interface INotificationTypeSelector { classes: any; @@ -52,8 +51,8 @@ const NotificationTypeSelector = ({ classes }: INotificationTypeSelector) => { label={ navigate(IAM_PAGES.NOTIFICATIONS_ENDPOINTS)} /> } diff --git a/portal-ui/src/screens/Console/ObjectBrowser/OBHeader.tsx b/portal-ui/src/screens/Console/ObjectBrowser/OBHeader.tsx index 6ea817db8..28395159e 100644 --- a/portal-ui/src/screens/Console/ObjectBrowser/OBHeader.tsx +++ b/portal-ui/src/screens/Console/ObjectBrowser/OBHeader.tsx @@ -15,7 +15,6 @@ // along with this program. If not, see . import React, { Fragment } from "react"; -import BackLink from "../../../common/BackLink"; import { IAM_PAGES, IAM_PERMISSIONS, @@ -24,7 +23,7 @@ import { } from "../../../common/SecureComponent/permissions"; import { SecureComponent } from "../../../common/SecureComponent"; import TooltipWrapper from "../Common/TooltipWrapper/TooltipWrapper"; -import { Button, PageHeader, SettingsIcon } from "mds"; +import { BackLink, Button, PageHeader, SettingsIcon } from "mds"; import { Grid } from "@mui/material"; import AutoColorIcon from "../Common/Components/AutoColorIcon"; import { useSelector } from "react-redux"; @@ -83,10 +82,6 @@ const OBHeader = ({ bucketName }: IOBHeader) => { IAM_SCOPES.S3_PUT_ACTIONS, ]); - const openBucketConfiguration = () => { - navigate(`/buckets/${bucketName}/admin`); - }; - const searchBar = ( {!versionsMode ? ( @@ -118,7 +113,10 @@ const OBHeader = ({ bucketName }: IOBHeader) => { label={ { + console.log("clicke"); + navigate(IAM_PAGES.OBJECT_BROWSER_VIEW); + }} /> } actions={ @@ -140,7 +138,7 @@ const OBHeader = ({ bucketName }: IOBHeader) => { id={"configure-bucket-main"} color="primary" aria-label="Configure Bucket" - onClick={openBucketConfiguration} + onClick={() => navigate(`/buckets/${bucketName}/admin`)} icon={ { } + label={ + navigate(IAM_PAGES.POLICIES)} + /> + } /> { - + navigate(IAM_PAGES.POLICIES)} + /> } /> diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/AddTenant.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/AddTenant.tsx index 4a96be2ae..e258dc5b7 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/AddTenant.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/AddTenant.tsx @@ -40,7 +40,7 @@ import Encryption from "./Steps/Encryption"; import Affinity from "./Steps/Affinity"; import Images from "./Steps/Images"; import PageLayout from "../../Common/Layout/PageLayout"; -import BackLink from "../../../../common/BackLink"; + import TenantResources from "./Steps/TenantResources/TenantResources"; import ConfigLogSearch from "./Steps/ConfigLogSearch"; import ConfigPrometheus from "./Steps/ConfigPrometheus"; @@ -48,7 +48,7 @@ import { IMkEnvs, resourcesConfigurations, } from "./Steps/TenantResources/utils"; -import { HelpBox, PageHeader, StorageIcon } from "mds"; +import { BackLink, HelpBox, PageHeader, StorageIcon } from "mds"; import { selFeatures } from "../../consoleSlice"; import makeStyles from "@mui/styles/makeStyles"; import { resetAddTenantForm } from "./createTenantSlice"; @@ -178,11 +178,11 @@ const AddTenant = () => { { + onClick={() => { dispatch(resetAddTenantForm()); + navigate("/tenants"); }} + label={"Tenants"} /> } /> 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 e4321d565..aac665d79 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 @@ -30,13 +30,13 @@ import GenericWizard from "../../../../Common/GenericWizard/GenericWizard"; import { IWizardElement } from "../../../../Common/GenericWizard/types"; import PoolResources from "./PoolResources"; import ScreenTitle from "../../../../Common/ScreenTitle/ScreenTitle"; -import { PageHeader, TenantsIcon } from "mds"; +import { BackLink, PageHeader, TenantsIcon } from "mds"; import { AppState, useAppDispatch } from "../../../../../../store"; import { useSelector } from "react-redux"; import PoolConfiguration from "./PoolConfiguration"; import PoolPodPlacement from "./PoolPodPlacement"; -import BackLink from "../../../../../../common/BackLink"; + import { resetPoolForm } from "./addPoolSlice"; import AddPoolCreateButton from "./AddPoolCreateButton"; import makeStyles from "@mui/styles/makeStyles"; @@ -130,7 +130,10 @@ const AddPool = () => { - + navigate(poolsURL)} + /> } /> 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 d9f12b28a..0b6d9fbbc 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 @@ -23,8 +23,7 @@ import Grid from "@mui/material/Grid"; import PageLayout from "../../../../Common/Layout/PageLayout"; import GenericWizard from "../../../../Common/GenericWizard/GenericWizard"; import ScreenTitle from "../../../../Common/ScreenTitle/ScreenTitle"; -import { PageHeader, TenantsIcon } from "mds"; -import BackLink from "../../../../../../common/BackLink"; +import { BackLink, PageHeader, TenantsIcon } from "mds"; import EditPoolResources from "./EditPoolResources"; import EditPoolConfiguration from "./EditPoolConfiguration"; import EditPoolPlacement from "./EditPoolPlacement"; @@ -153,7 +152,10 @@ const EditPool = () => { - + navigate(poolsURL)} + /> } /> diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/PoolsSummary.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/PoolsSummary.tsx index c6320837a..722815b55 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/PoolsSummary.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/PoolsSummary.tsx @@ -17,7 +17,7 @@ import React, { Fragment } from "react"; import { useSelector } from "react-redux"; import { Theme } from "@mui/material/styles"; -import { useLocation } from "react-router-dom"; +import { useLocation, useNavigate } from "react-router-dom"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import { @@ -32,8 +32,9 @@ import { AppState, useAppDispatch } from "../../../../store"; import PoolsListing from "./Pools/Details/PoolsListing"; import PoolDetails from "./Pools/Details/PoolDetails"; -import BackLink from "../../../../common/BackLink"; + import { setOpenPoolDetails } from "../tenantsSlice"; +import { BackLink } from "mds"; interface IPoolsSummary { classes: any; @@ -49,6 +50,8 @@ const styles = (theme: Theme) => const PoolsSummary = ({ classes }: IPoolsSummary) => { const dispatch = useAppDispatch(); + const navigate = useNavigate(); + const { pathname = "" } = useLocation(); const selectedPool = useSelector( @@ -63,11 +66,11 @@ const PoolsSummary = ({ classes }: IPoolsSummary) => { {poolDetailsOpen && ( { + label={"Pools list"} + onClick={() => { + navigate(pathname); dispatch(setOpenPoolDetails(false)); }} - label={"Pools list"} - to={pathname} /> )} diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantDetails.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantDetails.tsx index 7109adc47..298490800 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantDetails.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantDetails.tsx @@ -16,7 +16,7 @@ import React, { Fragment, useEffect, useState } from "react"; import { useSelector } from "react-redux"; -import { Button, PageHeader } from "mds"; +import { BackLink, Button, PageHeader } from "mds"; import { Link, Navigate, @@ -41,7 +41,7 @@ import { niceBytes } from "../../../../common/utils"; import ScreenTitle from "../../Common/ScreenTitle/ScreenTitle"; import { EditIcon, RefreshIcon, TenantsIcon } from "mds"; import PageLayout from "../../Common/Layout/PageLayout"; -import BackLink from "../../../../common/BackLink"; + import VerticalTabs from "../../Common/VerticalTabs/VerticalTabs"; import withSuspense from "../../Common/Components/withSuspense"; import { IAM_PAGES } from "../../../../common/SecureComponent/permissions"; @@ -265,7 +265,10 @@ const TenantDetails = ({ classes }: ITenantDetailsProps) => { - + navigate(IAM_PAGES.TENANTS)} + /> } actions={} diff --git a/portal-ui/src/screens/Console/Users/AddUserScreen.tsx b/portal-ui/src/screens/Console/Users/AddUserScreen.tsx index 4d7e0dcdb..2c64470da 100644 --- a/portal-ui/src/screens/Console/Users/AddUserScreen.tsx +++ b/portal-ui/src/screens/Console/Users/AddUserScreen.tsx @@ -16,7 +16,7 @@ import React, { Fragment } from "react"; import { Theme } from "@mui/material/styles"; -import { Button, PageHeader } from "mds"; +import { BackLink, Button, PageHeader } from "mds"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import UserSelector from "./UserSelector"; @@ -33,7 +33,7 @@ import { CreateUserIcon } from "mds"; import PageLayout from "../Common/Layout/PageLayout"; import PolicySelectors from "../Policies/PolicySelectors"; -import BackLink from "../../../common/BackLink"; + import GroupsSelectors from "./GroupsSelectors"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; @@ -116,7 +116,14 @@ const AddUser = ({ classes }: IAddUserProps) => { return ( - } /> + navigate(IAM_PAGES.USERS)} + /> + } + /> { + navigate(`${IAM_PAGES.USERS}/${encodeURLString(userName)}`) + } label={"User Details - " + userName} /> } diff --git a/portal-ui/src/screens/Console/Users/UserDetails.tsx b/portal-ui/src/screens/Console/Users/UserDetails.tsx index 5eea5f89a..39b29a783 100644 --- a/portal-ui/src/screens/Console/Users/UserDetails.tsx +++ b/portal-ui/src/screens/Console/Users/UserDetails.tsx @@ -17,7 +17,7 @@ import React, { Fragment, useCallback, useEffect, useState } from "react"; import { useNavigate, useParams } from "react-router-dom"; import { Theme } from "@mui/material/styles"; -import { Button, PageHeader } from "mds"; +import { BackLink, Button, PageHeader } from "mds"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import { Grid } from "@mui/material"; @@ -49,7 +49,6 @@ import PanelTitle from "../Common/PanelTitle/PanelTitle"; import PageLayout from "../Common/Layout/PageLayout"; import VerticalTabs from "../Common/VerticalTabs/VerticalTabs"; import FormSwitchWrapper from "../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; -import BackLink from "../../../common/BackLink"; import { decodeURLString, encodeURLString } from "../../../common/utils"; import { setModalErrorSnackMessage } from "../../../systemSlice"; @@ -235,7 +234,10 @@ const UserDetails = ({ classes }: IUserDetailsProps) => { - + navigate(IAM_PAGES.USERS)} + /> } actions={}