diff --git a/package.json b/package.json index e6bb2c168a..bb98e44dd6 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "homepage": "/dashboard", "dependencies": { - "@devtron-labs/devtron-fe-common-lib": "1.19.0", + "@devtron-labs/devtron-fe-common-lib": "1.19.0-beta-5", "@esbuild-plugins/node-globals-polyfill": "0.2.3", "@rjsf/core": "^5.13.3", "@rjsf/utils": "^5.13.3", diff --git a/src/Pages/GlobalConfigurations/ClustersAndEnvironments/ClusterList.tsx b/src/Pages/GlobalConfigurations/ClustersAndEnvironments/ClusterList.tsx index 1542ecad0d..fd374b7b19 100644 --- a/src/Pages/GlobalConfigurations/ClustersAndEnvironments/ClusterList.tsx +++ b/src/Pages/GlobalConfigurations/ClustersAndEnvironments/ClusterList.tsx @@ -33,7 +33,6 @@ import { GenericFilterEmptyState, getSelectPickerOptionByValue, Icon, - noop, numberComparatorBySortOrder, OptionType, PaginationEnum, @@ -55,6 +54,7 @@ import { importComponentFromFELibrary } from '@Components/common' import { URLS } from '@Config/routes' import CreateCluster from '@Pages/GlobalConfigurations/ClustersAndEnvironments/CreateCluster/CreateCluster.component' import { CreateClusterTypeEnum } from '@Pages/GlobalConfigurations/ClustersAndEnvironments/CreateCluster/types' +import { UpgradeToEnterpriseDialog } from '@Pages/Shared/UpgradeToEnterprise' import { getClusterList, getEnvironmentList } from './cluster.service' import { @@ -84,8 +84,9 @@ const PodSpreadModal = importComponentFromFELibrary('PodSpreadModal', null, 'fun const HibernationRulesModal = importComponentFromFELibrary('HibernationRulesModal', null, 'function') const ClusterList = () => { - const { isSuperAdmin } = useMainContext() + const { isSuperAdmin, licenseData } = useMainContext() const isK8sClient = window._env_.K8S_CLIENT + const isFreemium = licenseData?.isFreemium ?? false const { push } = useHistory() const { search } = useLocation() @@ -121,6 +122,7 @@ const ClusterList = () => { ) const [showUnmappedEnvs, setShowUnmappedEnvs] = useState(false) + const [showUpgradeToEnterprise, setShowUpgradeToEnterprise] = useState(false) const clusterIdVsEnvMap: Record = useMemo( () => @@ -244,6 +246,8 @@ const ClusterList = () => { const isEnvironmentsView = selectedTab === ClusterEnvTabs.ENVIRONMENTS const isClusterEnvListLoading = clusterListLoading || envListLoading + const isClusterAdditionAllowed = + !isFreemium || clusterListResult?.length < licenseData?.moduleLimits.maxAllowedClusters // Early return for non super admin users if (!isK8sClient && !isSuperAdmin) { @@ -338,15 +342,76 @@ const ClusterList = () => { ) } + const handleOpenUpgradeDialog = () => { + setShowUpgradeToEnterprise(true) + } + + const handleCloseUpgradeDialog = () => { + setShowUpgradeToEnterprise(false) + } + + const renderAddEnvButton = () => ( +