From 62e822df4ea4113433aba4f2751a4a430df41494 Mon Sep 17 00:00:00 2001 From: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com> Date: Mon, 23 Jan 2023 10:33:15 -0800 Subject: [PATCH] License FAQ (#2581) Signed-off-by: Daniel Valdivia <18384552+dvaldivia@users.noreply.github.com> --- portal-ui/package.json | 5 +- .../src/screens/Console/Account/Account.tsx | 2 +- .../BucketDetails/BucketEventsPanel.tsx | 2 +- .../BucketDetails/BucketLifecyclePanel.tsx | 2 +- .../BucketDetails/BucketReplicationPanel.tsx | 2 +- .../ListBuckets/AddBucket/AddBucket.tsx | 2 +- .../DistributedOnly/DistributedOnly.tsx | 2 +- .../MissingIntegration/MissingIntegration.tsx | 2 +- .../ConfigurationOptions.tsx | 2 +- .../SiteReplication/SiteReplication.tsx | 4 +- .../ListTiersConfiguration.tsx | 2 +- .../TiersConfiguration/TierTypeSelector.tsx | 8 +-- .../BasicDashboard/BasicDashboard.tsx | 2 +- .../Console/DirectPV/DirectPVDrives.tsx | 2 +- .../src/screens/Console/Groups/Groups.tsx | 2 +- .../IDP/AddIDPConfigurationHelpbox.tsx | 2 +- .../src/screens/Console/License/FAQModal.tsx | 41 +++++++++++++ .../Console/License/LicenseConsentModal.tsx | 7 ++- .../screens/Console/License/LicenseFAQ.tsx | 61 +++++++++++++++++++ .../screens/Console/License/LicensePlans.tsx | 6 +- .../screens/Console/License/licenseSlice.ts | 42 +++++++++++++ .../src/screens/Console/License/utils.tsx | 28 ++++++--- .../Console/Marketplace/SetEmailModal.tsx | 2 +- .../ListNotificationEndpoints.tsx | 2 +- .../screens/Console/Policies/ListPolicies.tsx | 2 +- .../Console/Tenants/HelpBox/TLSHelpBox.tsx | 2 +- .../TenantDetails/TenantAuditLogsScreen.tsx | 2 +- .../Tenants/TenantDetails/TenantSummary.tsx | 8 +-- .../src/screens/Console/Tools/Inspect.tsx | 2 +- .../src/screens/Console/Users/ListUsers.tsx | 2 +- portal-ui/src/screens/LoginPage/LoginPage.tsx | 8 +-- portal-ui/src/store.ts | 2 + 32 files changed, 215 insertions(+), 45 deletions(-) create mode 100644 portal-ui/src/screens/Console/License/FAQModal.tsx create mode 100644 portal-ui/src/screens/Console/License/LicenseFAQ.tsx create mode 100644 portal-ui/src/screens/Console/License/licenseSlice.ts diff --git a/portal-ui/package.json b/portal-ui/package.json index 529f46cae..208ef385d 100644 --- a/portal-ui/package.json +++ b/portal-ui/package.json @@ -56,7 +56,10 @@ "eject": "react-scripts eject" }, "eslintConfig": { - "extends": "react-app" + "extends": "react-app", + "rules": { + "react/jsx-no-target-blank": "off" + } }, "browserslist": { "production": [ diff --git a/portal-ui/src/screens/Console/Account/Account.tsx b/portal-ui/src/screens/Console/Account/Account.tsx index 6ab39b958..5d9def3c9 100644 --- a/portal-ui/src/screens/Console/Account/Account.tsx +++ b/portal-ui/src/screens/Console/Account/Account.tsx @@ -291,7 +291,7 @@ const Account = () => { documentation diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx index ccd5680aa..a9efea093 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx @@ -221,7 +221,7 @@ const BucketEventsPanel = ({ classes }: IBucketEventsProps) => { documentation diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketLifecyclePanel.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketLifecyclePanel.tsx index f9a40bb1b..234abb17b 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketLifecyclePanel.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketLifecyclePanel.tsx @@ -336,7 +336,7 @@ const BucketLifecyclePanel = ({ classes }: IBucketLifecyclePanelProps) => { documentation diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketReplicationPanel.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketReplicationPanel.tsx index d648fc54e..c9fc02ffe 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketReplicationPanel.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketReplicationPanel.tsx @@ -365,7 +365,7 @@ const BucketReplicationPanel = ({ classes }: IBucketReplicationProps) => { documentation 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 5353c7f0c..ba1c22bd8 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucket.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucket.tsx @@ -303,7 +303,7 @@ const AddBucket = ({ classes }: IsetProps) => { Distributed Mode {" "} diff --git a/portal-ui/src/screens/Console/Common/DistributedOnly/DistributedOnly.tsx b/portal-ui/src/screens/Console/Common/DistributedOnly/DistributedOnly.tsx index b48173542..a24fc61cc 100644 --- a/portal-ui/src/screens/Console/Common/DistributedOnly/DistributedOnly.tsx +++ b/portal-ui/src/screens/Console/Common/DistributedOnly/DistributedOnly.tsx @@ -53,7 +53,7 @@ const DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => { Distributed Mode {" "} diff --git a/portal-ui/src/screens/Console/Common/MissingIntegration/MissingIntegration.tsx b/portal-ui/src/screens/Console/Common/MissingIntegration/MissingIntegration.tsx index db9d56adc..a280dedb9 100644 --- a/portal-ui/src/screens/Console/Common/MissingIntegration/MissingIntegration.tsx +++ b/portal-ui/src/screens/Console/Common/MissingIntegration/MissingIntegration.tsx @@ -45,7 +45,7 @@ const MissingIntegration = ({ This feature is not available.
Please configure{" "} - + {entity} {" "} first to use this feature. diff --git a/portal-ui/src/screens/Console/Configurations/ConfigurationPanels/ConfigurationOptions.tsx b/portal-ui/src/screens/Console/Configurations/ConfigurationPanels/ConfigurationOptions.tsx index 9596cf972..78e15a733 100644 --- a/portal-ui/src/screens/Console/Configurations/ConfigurationPanels/ConfigurationOptions.tsx +++ b/portal-ui/src/screens/Console/Configurations/ConfigurationPanels/ConfigurationOptions.tsx @@ -128,7 +128,7 @@ const ConfigurationOptions = ({ classes }: IConfigurationOptions) => { documentation diff --git a/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplication.tsx b/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplication.tsx index 067e4bc0d..3f55558d1 100644 --- a/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplication.tsx +++ b/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplication.tsx @@ -215,7 +215,7 @@ const SiteReplication = () => { documentation @@ -260,7 +260,7 @@ const SiteReplication = () => { documentation diff --git a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/ListTiersConfiguration.tsx b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/ListTiersConfiguration.tsx index 081cf1db0..6c769c565 100644 --- a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/ListTiersConfiguration.tsx +++ b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/ListTiersConfiguration.tsx @@ -470,7 +470,7 @@ const ListTiersConfiguration = ({ classes }: IListTiersConfig) => { documentation diff --git a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/TierTypeSelector.tsx b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/TierTypeSelector.tsx index bc0cbaa35..b0410f8d6 100644 --- a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/TierTypeSelector.tsx +++ b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/TierTypeSelector.tsx @@ -67,7 +67,7 @@ const TierTypeSelector = () => { MinIO or other S3-compatible storage @@ -76,7 +76,7 @@ const TierTypeSelector = () => { Amazon S3 @@ -85,7 +85,7 @@ const TierTypeSelector = () => { Google Cloud Storage @@ -94,7 +94,7 @@ const TierTypeSelector = () => { Microsoft Azure Blob Storage diff --git a/portal-ui/src/screens/Console/Dashboard/BasicDashboard/BasicDashboard.tsx b/portal-ui/src/screens/Console/Dashboard/BasicDashboard/BasicDashboard.tsx index 728f73622..5411c7f3e 100644 --- a/portal-ui/src/screens/Console/Dashboard/BasicDashboard/BasicDashboard.tsx +++ b/portal-ui/src/screens/Console/Dashboard/BasicDashboard/BasicDashboard.tsx @@ -355,7 +355,7 @@ const BasicDashboard = ({ usage }: IDashboardProps) => { Read more about Prometheus on our Docs site. diff --git a/portal-ui/src/screens/Console/DirectPV/DirectPVDrives.tsx b/portal-ui/src/screens/Console/DirectPV/DirectPVDrives.tsx index cf5c793c4..a5bd8b06f 100644 --- a/portal-ui/src/screens/Console/DirectPV/DirectPVDrives.tsx +++ b/portal-ui/src/screens/Console/DirectPV/DirectPVDrives.tsx @@ -284,7 +284,7 @@ const DirectPVMain = ({ classes }: IDirectPVMain) => { For more information{" "} diff --git a/portal-ui/src/screens/Console/Groups/Groups.tsx b/portal-ui/src/screens/Console/Groups/Groups.tsx index d2d011933..1c99d2170 100644 --- a/portal-ui/src/screens/Console/Groups/Groups.tsx +++ b/portal-ui/src/screens/Console/Groups/Groups.tsx @@ -375,7 +375,7 @@ const Groups = ({ classes }: IGroupsProps) => { documentation diff --git a/portal-ui/src/screens/Console/IDP/AddIDPConfigurationHelpbox.tsx b/portal-ui/src/screens/Console/IDP/AddIDPConfigurationHelpbox.tsx index 9b1e31467..d75b3cc6a 100644 --- a/portal-ui/src/screens/Console/IDP/AddIDPConfigurationHelpbox.tsx +++ b/portal-ui/src/screens/Console/IDP/AddIDPConfigurationHelpbox.tsx @@ -94,7 +94,7 @@ const AddIDPConfigurationHelpBox = ({ ))} - + {docText} diff --git a/portal-ui/src/screens/Console/License/FAQModal.tsx b/portal-ui/src/screens/Console/License/FAQModal.tsx new file mode 100644 index 000000000..11e814bb6 --- /dev/null +++ b/portal-ui/src/screens/Console/License/FAQModal.tsx @@ -0,0 +1,41 @@ +// This file is part of MinIO Console Server +// Copyright (c) 2023 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 ModalWrapper from "../Common/ModalWrapper/ModalWrapper"; +import LicenseFAQ from "./LicenseFAQ"; +import { useSelector } from "react-redux"; +import { AppState, useAppDispatch } from "../../../store"; +import { closeFAQModal } from "./licenseSlice"; + +const FAQModal = () => { + const dispatch = useAppDispatch(); + const isOpen = useSelector((state: AppState) => state.license.faqModalOpen); + + return ( + { + dispatch(closeFAQModal()); + }} + > + + + ); +}; + +export default FAQModal; diff --git a/portal-ui/src/screens/Console/License/LicenseConsentModal.tsx b/portal-ui/src/screens/Console/License/LicenseConsentModal.tsx index c77a16c98..a8484f2a5 100644 --- a/portal-ui/src/screens/Console/License/LicenseConsentModal.tsx +++ b/portal-ui/src/screens/Console/License/LicenseConsentModal.tsx @@ -21,6 +21,7 @@ import { Button } from "mds"; import { AGPLV3DarkLogo } from "mds"; import { setLicenseConsent } from "./utils"; import LicenseLink from "./LicenseLink"; +import LicenseFAQ from "./LicenseFAQ"; const LicenseConsentModal = ({ isOpen, @@ -78,7 +79,7 @@ const LicenseConsentModal = ({ found here:{" "} https://www.gnu.org/licenses/agpl-3.0.html. @@ -95,13 +96,15 @@ const LicenseConsentModal = ({ available here:{" "} https://min.io/signup. + + . + +import React, { Fragment } from "react"; + +const LicenseFAQ = () => { + return ( + +

What is the GNU AGPL v3?

+

+ The GNU AGPL v3 is short for the "GNU Affero General Public License v3." + It is a common open source license certified by the Free Software + Foundation and the Open Source Initiative. You can get a copy of the GNU + AGPL v3 license with MinIO source code or at  + + https://www.gnu.org/licenses/agpl-3.0.en.html + + . +

+

What does it mean for me to comply with the GNU AGPL v3?

+

+ When you host or distribute MinIO over a network, the AGPL v3 applies to + you. Any distribution or copying of MinIO software modified or not has + to comply with the obligations specified in the AGPL v3. Otherwise, you + may risk infringing MinIO’s copyrights. +

+

Making combined or derivative works of MinIO

+

+ Combining MinIO software as part of a larger software stack triggers + your GNU AGPL v3 obligations. +

+

+ The method of combining does not matter. When MinIO is linked to a + larger software stack in any form, including statically, dynamically, + pipes, or containerized and invoked remotely, the AGPL v3 applies to + your use. What triggers the AGPL v3 obligations is the exchanging data + between the larger stack and MinIO. +

+

Talking to your Legal Counsel

+

+ If you have questions, we recommend that you talk to your own attorney + for legal advice. Purchasing a commercial license from MinIO removes the + AGPL v3 obligations from MinIO software. +

+
+ ); +}; +export default LicenseFAQ; diff --git a/portal-ui/src/screens/Console/License/LicensePlans.tsx b/portal-ui/src/screens/Console/License/LicensePlans.tsx index e71ae4863..7670aff8b 100644 --- a/portal-ui/src/screens/Console/License/LicensePlans.tsx +++ b/portal-ui/src/screens/Console/License/LicensePlans.tsx @@ -445,6 +445,8 @@ const LicensePlans = ({ licenseInfo, operatorMode }: IRegisterStatus) => { fontSize: "14px", "& .link-text": { color: "#2781B0", + cursor: "pointer", + textDecoration: "underline", }, "&.icon-yes": { @@ -514,6 +516,8 @@ const LicensePlans = ({ licenseInfo, operatorMode }: IRegisterStatus) => { "& .link-text": { color: "#2781B0", + cursor: "pointer", + textDecoration: "underline", }, "& .min-icon": { @@ -526,7 +530,7 @@ const LicensePlans = ({ licenseInfo, operatorMode }: IRegisterStatus) => { View License agreement
diff --git a/portal-ui/src/screens/Console/License/licenseSlice.ts b/portal-ui/src/screens/Console/License/licenseSlice.ts new file mode 100644 index 000000000..c2bc54dd1 --- /dev/null +++ b/portal-ui/src/screens/Console/License/licenseSlice.ts @@ -0,0 +1,42 @@ +// This file is part of MinIO Console Server +// Copyright (c) 2023 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 { createSlice } from "@reduxjs/toolkit"; + +export interface IAddPool { + faqModalOpen: boolean; +} + +const initialState: IAddPool = { + faqModalOpen: false, +}; + +export const licenseSlice = createSlice({ + name: "license", + initialState, + reducers: { + openFAQModal: (state) => { + state.faqModalOpen = true; + }, + closeFAQModal: (state) => { + state.faqModalOpen = false; + }, + }, +}); + +export const { openFAQModal, closeFAQModal } = licenseSlice.actions; + +export default licenseSlice.reducer; diff --git a/portal-ui/src/screens/Console/License/utils.tsx b/portal-ui/src/screens/Console/License/utils.tsx index 6cb95c86c..1d9e9002a 100644 --- a/portal-ui/src/screens/Console/License/utils.tsx +++ b/portal-ui/src/screens/Console/License/utils.tsx @@ -16,6 +16,9 @@ import { Box } from "@mui/material"; import LicenseLink from "./LicenseLink"; +import { openFAQModal } from "./licenseSlice"; +import store from "../../../store"; +import FAQModal from "./FAQModal"; export const LICENSE_PLANS = { COMMUNITY: "community", @@ -37,7 +40,7 @@ const FeatureLink = ({ text, anchor }: { text: string; anchor: string }) => { href={`https://min.io/product/subnet?ref=con#${anchor}`} className={"link-text"} target="_blank" - rel="noopener noreferrer" + rel="noopener " style={{ color: "#2781B0", }} @@ -56,7 +59,7 @@ export const FEATURE_ITEMS: FeatureItem[] = [ label: "", isHeader: false, style: { - height: "360px", + height: "400px", verticalAlign: "top", alignItems: "start", }, @@ -138,13 +141,24 @@ export const COMMUNITY_PLAN_FEATURES = [ distribute the complete, corresponding source code of the combined work under the same license. This requirement applies whether or not you modified MinIO. +
+
+ { + store.dispatch(openFAQModal()); + }} + > + Compliance FAQ + +
); }, isHeader: false, style: { - height: "360px", + height: "400px", borderBottom: 0, }, }, @@ -228,7 +242,7 @@ export const STANDARD_PLAN_FEATURES = [ href="https://min.io/product/subnet?ref=con" className={"link-text"} target="_blank" - rel="noopener noreferrer" + rel="noopener" > click here @@ -237,7 +251,7 @@ export const STANDARD_PLAN_FEATURES = [ ); }, style: { - height: "360px", + height: "400px", borderBottom: 0, }, }, @@ -341,7 +355,7 @@ export const ENTERPRISE_PLAN_FEATURES = [ href="https://min.io/product/subnet?ref=con" className={"link-text"} target="_blank" - rel="noopener noreferrer" + rel="noopener" > click here @@ -350,7 +364,7 @@ export const ENTERPRISE_PLAN_FEATURES = [ ); }, style: { - height: "360px", + height: "400px", borderBottom: 0, }, }, diff --git a/portal-ui/src/screens/Console/Marketplace/SetEmailModal.tsx b/portal-ui/src/screens/Console/Marketplace/SetEmailModal.tsx index 731fb5be3..6f825be19 100644 --- a/portal-ui/src/screens/Console/Marketplace/SetEmailModal.tsx +++ b/portal-ui/src/screens/Console/Marketplace/SetEmailModal.tsx @@ -101,7 +101,7 @@ const SetEmailModal = ({ open, closeModal }: ISetEmailModalProps) => { MinIO Subscription Network (SUBNET) diff --git a/portal-ui/src/screens/Console/NotificationEndpoints/ListNotificationEndpoints.tsx b/portal-ui/src/screens/Console/NotificationEndpoints/ListNotificationEndpoints.tsx index 4fa06d859..e6d55674f 100644 --- a/portal-ui/src/screens/Console/NotificationEndpoints/ListNotificationEndpoints.tsx +++ b/portal-ui/src/screens/Console/NotificationEndpoints/ListNotificationEndpoints.tsx @@ -257,7 +257,7 @@ const ListNotificationEndpoints = ({ classes }: IListNotificationEndpoints) => { documentation diff --git a/portal-ui/src/screens/Console/Policies/ListPolicies.tsx b/portal-ui/src/screens/Console/Policies/ListPolicies.tsx index 1f62fab3e..b3443d4e1 100644 --- a/portal-ui/src/screens/Console/Policies/ListPolicies.tsx +++ b/portal-ui/src/screens/Console/Policies/ListPolicies.tsx @@ -282,7 +282,7 @@ const ListPolicies = ({ classes }: IPoliciesProps) => { documentation diff --git a/portal-ui/src/screens/Console/Tenants/HelpBox/TLSHelpBox.tsx b/portal-ui/src/screens/Console/Tenants/HelpBox/TLSHelpBox.tsx index 2aeb556b1..34b5262fa 100644 --- a/portal-ui/src/screens/Console/Tenants/HelpBox/TLSHelpBox.tsx +++ b/portal-ui/src/screens/Console/Tenants/HelpBox/TLSHelpBox.tsx @@ -129,7 +129,7 @@ const TLSHelpBox = () => { documentation diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantAuditLogsScreen.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantAuditLogsScreen.tsx index f7f33dd33..1355879de 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantAuditLogsScreen.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantAuditLogsScreen.tsx @@ -264,7 +264,7 @@ const LoggingScreen = ({ classes }: ILoggingScreenProps) => { {" documentation "} diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSummary.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSummary.tsx index 25d574a13..96421dcb6 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSummary.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSummary.tsx @@ -309,7 +309,7 @@ const TenantSummary = ({ classes }: ITenantsSummary) => { {tenant?.endpoints?.console || "-"} @@ -322,7 +322,7 @@ const TenantSummary = ({ classes }: ITenantsSummary) => { {tenant?.domains?.console || ""} @@ -350,7 +350,7 @@ const TenantSummary = ({ classes }: ITenantsSummary) => { {tenant?.endpoints?.minio || "-"} @@ -366,7 +366,7 @@ const TenantSummary = ({ classes }: ITenantsSummary) => { {domain} diff --git a/portal-ui/src/screens/Console/Tools/Inspect.tsx b/portal-ui/src/screens/Console/Tools/Inspect.tsx index 4c65b64bc..cd61d221b 100644 --- a/portal-ui/src/screens/Console/Tools/Inspect.tsx +++ b/portal-ui/src/screens/Console/Tools/Inspect.tsx @@ -547,7 +547,7 @@ const Inspect = ({ classes }: { classes: any }) => { documentation diff --git a/portal-ui/src/screens/Console/Users/ListUsers.tsx b/portal-ui/src/screens/Console/Users/ListUsers.tsx index bebb7fe1d..c07924232 100644 --- a/portal-ui/src/screens/Console/Users/ListUsers.tsx +++ b/portal-ui/src/screens/Console/Users/ListUsers.tsx @@ -414,7 +414,7 @@ const ListUsers = ({ classes }: IUsersProps) => { documentation diff --git a/portal-ui/src/screens/LoginPage/LoginPage.tsx b/portal-ui/src/screens/LoginPage/LoginPage.tsx index d1b3e0f5f..b37f4f6ff 100644 --- a/portal-ui/src/screens/LoginPage/LoginPage.tsx +++ b/portal-ui/src/screens/LoginPage/LoginPage.tsx @@ -498,14 +498,14 @@ const Login = () => { form={loginComponent} formFooter={ - + Documentation | Github @@ -513,7 +513,7 @@ const Login = () => { Support @@ -521,7 +521,7 @@ const Login = () => { Download diff --git a/portal-ui/src/store.ts b/portal-ui/src/store.ts index b8eda51c5..d222d731c 100644 --- a/portal-ui/src/store.ts +++ b/portal-ui/src/store.ts @@ -36,6 +36,7 @@ import editTenantMonitoringReducer from "./screens/Console/Tenants/TenantDetails import editTenantAuditLoggingReducer from "./screens/Console/Tenants/TenantDetails/tenantAuditLogSlice"; import editTenantSecurityContextReducer from "./screens/Console/Tenants/tenantSecurityContextSlice"; import directPVReducer from "./screens/Console/DirectPV/directPVSlice"; +import licenseReducer from "./screens/Console/License/licenseSlice"; const rootReducer = combineReducers({ system: systemReducer, @@ -59,6 +60,7 @@ const rootReducer = combineReducers({ editTenantLogging: editTenantAuditLoggingReducer, editTenantSecurityContext: editTenantSecurityContextReducer, directPV: directPVReducer, + license: licenseReducer, }); export const store = configureStore({