Skip to content

Commit 892278a

Browse files
authored
fix: Do not show community modules card and nav item when the flag is disabled (#4648)
1 parent 3913cd1 commit 892278a

File tree

3 files changed

+30
-13
lines changed

3 files changed

+30
-13
lines changed

src/components/Clusters/views/ClusterOverview/ClusterDetails.jsx

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import { CommunityModuleContextProvider } from 'components/Modules/community/pro
1515
import { ModuleTemplatesContextProvider } from 'components/Modules/providers/ModuleTemplatesProvider';
1616
import { useGetEnvironmentParameters } from './useGetEnvironmentParameters';
1717
import { Tokens } from 'shared/components/Tokens';
18+
import { useFeature } from 'hooks/useFeature';
19+
import { configFeaturesNames } from 'state/types';
1820

1921
const GardenerProvider = () => {
2022
const { t } = useTranslation();
@@ -42,6 +44,9 @@ export default function ClusterDetails({ currentCluster }) {
4244
);
4345
const { natGatewayIps, environmentParametersLoading } =
4446
useGetEnvironmentParameters();
47+
const { isEnabled: isCommunityModulesEnabled } = useFeature(
48+
configFeaturesNames.COMMUNITY_MODULES,
49+
);
4550

4651
return (
4752
<section aria-labelledby="cluster-details-heading">
@@ -108,11 +113,13 @@ export default function ClusterDetails({ currentCluster }) {
108113
</>
109114
}
110115
/>
111-
<ModuleTemplatesContextProvider>
112-
<CommunityModuleContextProvider>
113-
<ClusterModulesCard />
114-
</CommunityModuleContextProvider>
115-
</ModuleTemplatesContextProvider>
116+
{(kymaResources || isCommunityModulesEnabled) && (
117+
<ModuleTemplatesContextProvider>
118+
<CommunityModuleContextProvider>
119+
<ClusterModulesCard />
120+
</CommunityModuleContextProvider>
121+
</ModuleTemplatesContextProvider>
122+
)}
116123
</div>
117124
</section>
118125
);

src/state/navigation/addAdditionalNodes.ts

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export const addAdditionalNodes = (
1818
navNodes: NavNode[],
1919
scope: Scope,
2020
configFeatures: ConfigFeatureList,
21+
isKymaResources: boolean,
2122
) => {
2223
const extNavList = [...navNodes];
2324

@@ -35,13 +36,15 @@ export const addAdditionalNodes = (
3536
if (scope === 'cluster') {
3637
addResource(extensionsNavNode, extNavList.length, extNavList);
3738
}
38-
addResource(
39-
scope === 'cluster'
40-
? kymaModulesNavNode
41-
: { ...kymaModulesNavNode, namespaced: true },
42-
extNavList.length,
43-
extNavList,
44-
);
39+
if (configFeatures.COMMUNITY_MODULES?.isEnabled || isKymaResources) {
40+
addResource(
41+
scope === 'cluster'
42+
? kymaModulesNavNode
43+
: { ...kymaModulesNavNode, namespaced: true },
44+
extNavList.length,
45+
extNavList,
46+
);
47+
}
4548
}
4649

4750
const crdIndex = findResourceIndex(crd, navNodes) + 1;

src/state/navigation/clusterAndNsNodesAtom.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@ import { permissionSetsAtom } from '../permissionSetsAtom';
88
import { NavNode, Scope } from '../types';
99
import { shouldNodeBeVisible } from './filters/shouldNodeBeVisible';
1010
import { addAdditionalNodes } from './addAdditionalNodes';
11+
import { kymaResourcesAtom } from 'state/kymaResourcesAtom';
1112

1213
export const clusterAndNsNodesAtom = atom<Promise<NavNode[]>>(async (get) => {
1314
const resourceList: NavNode[] = get(resourceListAtom);
1415
const activeNamespaceId = get(activeNamespaceIdAtom);
1516
const openapiPathIdList = get(openapiPathIdListAtom);
1617
const permissionSet = await get(permissionSetsAtom);
1718
const configuration = get(configurationAtom);
19+
const kymaResources = await get(kymaResourcesAtom);
1820

1921
const features = configuration?.features || {};
2022

@@ -44,7 +46,12 @@ export const clusterAndNsNodesAtom = atom<Promise<NavNode[]>>(async (get) => {
4446
);
4547

4648
const scope: Scope = activeNamespaceId ? 'namespace' : 'cluster';
47-
const navNodesWithAddons = addAdditionalNodes(navNodes, scope, features!);
49+
const navNodesWithAddons = addAdditionalNodes(
50+
navNodes,
51+
scope,
52+
features!,
53+
!!kymaResources,
54+
);
4855

4956
return navNodesWithAddons;
5057
});

0 commit comments

Comments
 (0)