diff --git a/frontend/packages/console-app/src/components/nodes/node-dashboard/InventoryCard.tsx b/frontend/packages/console-app/src/components/nodes/node-dashboard/InventoryCard.tsx index 6a2331c5961..d41b50da57b 100644 --- a/frontend/packages/console-app/src/components/nodes/node-dashboard/InventoryCard.tsx +++ b/frontend/packages/console-app/src/components/nodes/node-dashboard/InventoryCard.tsx @@ -11,8 +11,9 @@ import { DescriptionListTerm, } from '@patternfly/react-core'; import { useTranslation } from 'react-i18next'; -import { Link } from 'react-router'; import BareMetalInventoryItems from '@console/app/src/components/nodes/node-dashboard/BareMetalInventoryItems'; +import VirtualMachinesInventoryItems from '@console/app/src/components/nodes/node-dashboard/VirtualMachinesInventoryItems'; +import { FLAG_NODE_MGMT_V1 } from '@console/app/src/consts'; import { useK8sWatchResource } from '@console/internal/components/utils/k8s-watch-hook'; import { resourcePathFromModel } from '@console/internal/components/utils/resource-link'; import { PodModel, NodeModel } from '@console/internal/models'; @@ -24,9 +25,7 @@ import { ResourceInventoryItem, } from '@console/shared/src/components/dashboard/inventory-card/InventoryItem'; import { getPodStatusGroups } from '@console/shared/src/components/dashboard/inventory-card/utils'; -import { DescriptionListTermHelp } from '@console/shared/src/components/description-list/DescriptionListTermHelp'; -import { useIsKubevirtPluginActive } from '../../../utils/kubevirt'; -import { useWatchVirtualMachineInstances, VirtualMachineModel } from '../NodeVmUtils'; +import { useFlag } from '@console/shared/src/hooks/useFlag'; import { NodeDashboardContext } from './NodeDashboardContext'; export const NodeInventoryItem: FC = ({ nodeName, model, mapper }) => { @@ -56,9 +55,7 @@ export const NodeInventoryItem: FC = ({ nodeName, model, const InventoryCard: FC = () => { const { obj } = useContext(NodeDashboardContext); const { t } = useTranslation(); - - const showVms = useIsKubevirtPluginActive(); - const [vms, vmsLoaded, vmsLoadError] = useWatchVirtualMachineInstances(obj.metadata.name); + const nodeMgmtV1Enabled = useFlag(FLAG_NODE_MGMT_V1); return ( @@ -89,32 +86,12 @@ const InventoryCard: FC = () => { /> - - {showVms ? ( - - - - - - - - - ) : null} + {nodeMgmtV1Enabled && ( + <> + + + + )} diff --git a/frontend/packages/console-app/src/components/nodes/node-dashboard/VirtualMachinesInventoryItems.tsx b/frontend/packages/console-app/src/components/nodes/node-dashboard/VirtualMachinesInventoryItems.tsx new file mode 100644 index 00000000000..ae2a915c8c1 --- /dev/null +++ b/frontend/packages/console-app/src/components/nodes/node-dashboard/VirtualMachinesInventoryItems.tsx @@ -0,0 +1,54 @@ +import type { FC } from 'react'; +import { useContext } from 'react'; +import { DescriptionListDescription, DescriptionListGroup } from '@patternfly/react-core'; +import { useTranslation } from 'react-i18next'; +import { Link } from 'react-router'; +import { + useWatchVirtualMachineInstances, + VirtualMachineModel, +} from '@console/app/src/components/nodes/NodeVmUtils'; +import { useIsKubevirtPluginActive } from '@console/app/src/utils/kubevirt'; +import { resourcePathFromModel } from '@console/internal/components/utils/resource-link'; +import { InventoryItem } from '@console/shared/src/components/dashboard/inventory-card/InventoryItem'; +import { DescriptionListTermHelp } from '@console/shared/src/components/description-list/DescriptionListTermHelp'; +import { NodeDashboardContext } from './NodeDashboardContext'; + +const VirtualMachinesInventoryItems: FC = () => { + const { obj } = useContext(NodeDashboardContext); + const { t } = useTranslation(); + const showVms = useIsKubevirtPluginActive(); + + const [vms, vmsLoaded, vmsLoadError] = useWatchVirtualMachineInstances(obj.metadata.name); + + if (!showVms) { + return null; + } + + return ( + + + + + + + + + ); +}; + +export default VirtualMachinesInventoryItems;