@openshift-assisted/ui-lib 2.11.2-cim → 2.12.0-cim

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/build/@types/cim/components/helpers/network.d.ts.map +1 -1
  2. package/build/@types/cim/components/modals/CimConfiguration/CimStorageMissingAlert.d.ts.map +1 -1
  3. package/build/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabMock.d.ts +1 -4
  4. package/build/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabMock.d.ts.map +1 -1
  5. package/build/@types/ocm/components/Routes.d.ts +3 -2
  6. package/build/@types/ocm/components/Routes.d.ts.map +1 -1
  7. package/build/@types/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts.map +1 -1
  8. package/build/@types/ocm/components/clusterWizard/ClusterDetails.d.ts.map +1 -1
  9. package/build/@types/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts.map +1 -1
  10. package/build/@types/ocm/components/clusterWizard/ClusterWizardFooter.d.ts.map +1 -1
  11. package/build/@types/ocm/components/clusterWizard/Operators.d.ts.map +1 -1
  12. package/build/@types/ocm/components/clusters/ClusterBreadcrumbs.d.ts.map +1 -1
  13. package/build/@types/ocm/components/clusters/ClusterPage.d.ts +3 -9
  14. package/build/@types/ocm/components/clusters/ClusterPage.d.ts.map +1 -1
  15. package/build/@types/ocm/components/clusters/ClusterPageErrors.d.ts.map +1 -1
  16. package/build/@types/ocm/components/clusters/Clusters.d.ts +1 -3
  17. package/build/@types/ocm/components/clusters/Clusters.d.ts.map +1 -1
  18. package/build/@types/ocm/components/clusters/ClustersListToolbar.d.ts.map +1 -1
  19. package/build/@types/ocm/components/clusters/NewClusterPage.d.ts +2 -3
  20. package/build/@types/ocm/components/clusters/NewClusterPage.d.ts.map +1 -1
  21. package/build/@types/ocm/components/ui/Buttons/BackButton.d.ts +2 -3
  22. package/build/@types/ocm/components/ui/Buttons/BackButton.d.ts.map +1 -1
  23. package/build/@types/ocm/store/slices/clusters/selectors.d.ts.map +1 -1
  24. package/build/cjs/cim/components/Agent/NoAgentsAlert.js +2 -2
  25. package/build/cjs/cim/components/Agent/NoAgentsAlert.js.map +1 -1
  26. package/build/cjs/cim/components/Agent/tableUtils.js +3 -3
  27. package/build/cjs/cim/components/Agent/tableUtils.js.map +1 -1
  28. package/build/cjs/cim/components/Hypershift/DetailsPage/NodePoolsTable.js +2 -2
  29. package/build/cjs/cim/components/Hypershift/DetailsPage/NodePoolsTable.js.map +1 -1
  30. package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js +2 -2
  31. package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js.map +1 -1
  32. package/build/cjs/cim/components/helpers/network.js +3 -2
  33. package/build/cjs/cim/components/helpers/network.js.map +1 -1
  34. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigProgressAlert.js +3 -3
  35. package/build/cjs/cim/components/modals/CimConfiguration/CimConfigProgressAlert.js.map +1 -1
  36. package/build/cjs/cim/components/modals/CimConfiguration/CimStorageMissingAlert.js +3 -3
  37. package/build/cjs/cim/components/modals/CimConfiguration/CimStorageMissingAlert.js.map +1 -1
  38. package/build/cjs/cim/components/modals/MassDeleteAgentModal.js +2 -2
  39. package/build/cjs/cim/components/modals/MassDeleteAgentModal.js.map +1 -1
  40. package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabMock.js.map +1 -1
  41. package/build/cjs/ocm/components/Routes.js +10 -10
  42. package/build/cjs/ocm/components/Routes.js.map +1 -1
  43. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js +2 -3
  44. package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js.map +1 -1
  45. package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js +5 -5
  46. package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js.map +1 -1
  47. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js +4 -5
  48. package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js.map +1 -1
  49. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js +2 -2
  50. package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js.map +1 -1
  51. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js +3 -2
  52. package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js.map +1 -1
  53. package/build/cjs/ocm/components/clusterWizard/ClusterWizardFooter.js +3 -4
  54. package/build/cjs/ocm/components/clusterWizard/ClusterWizardFooter.js.map +1 -1
  55. package/build/cjs/ocm/components/clusterWizard/Operators.js +6 -4
  56. package/build/cjs/ocm/components/clusterWizard/Operators.js.map +1 -1
  57. package/build/cjs/ocm/components/clusters/ClusterBreadcrumbs.js +3 -4
  58. package/build/cjs/ocm/components/clusters/ClusterBreadcrumbs.js.map +1 -1
  59. package/build/cjs/ocm/components/clusters/ClusterPage.js +10 -7
  60. package/build/cjs/ocm/components/clusters/ClusterPage.js.map +1 -1
  61. package/build/cjs/ocm/components/clusters/ClusterPageErrors.js +1 -2
  62. package/build/cjs/ocm/components/clusters/ClusterPageErrors.js.map +1 -1
  63. package/build/cjs/ocm/components/clusters/Clusters.js +6 -5
  64. package/build/cjs/ocm/components/clusters/Clusters.js.map +1 -1
  65. package/build/cjs/ocm/components/clusters/ClustersListToolbar.js +3 -4
  66. package/build/cjs/ocm/components/clusters/ClustersListToolbar.js.map +1 -1
  67. package/build/cjs/ocm/components/clusters/NewClusterPage.js +1 -1
  68. package/build/cjs/ocm/components/clusters/NewClusterPage.js.map +1 -1
  69. package/build/cjs/ocm/components/ui/Buttons/BackButton.js +2 -2
  70. package/build/cjs/ocm/components/ui/Buttons/BackButton.js.map +1 -1
  71. package/build/cjs/ocm/store/slices/clusters/selectors.js +2 -3
  72. package/build/cjs/ocm/store/slices/clusters/selectors.js.map +1 -1
  73. package/lib/cim/components/Agent/NoAgentsAlert.tsx +1 -1
  74. package/lib/cim/components/Agent/tableUtils.tsx +1 -1
  75. package/lib/cim/components/Hypershift/DetailsPage/NodePoolsTable.tsx +1 -1
  76. package/lib/cim/components/InfraEnv/AddHostDropdown.tsx +1 -1
  77. package/lib/cim/components/helpers/network.ts +5 -3
  78. package/lib/cim/components/modals/CimConfiguration/CimConfigProgressAlert.tsx +3 -3
  79. package/lib/cim/components/modals/CimConfiguration/CimStorageMissingAlert.tsx +3 -6
  80. package/lib/cim/components/modals/MassDeleteAgentModal.tsx +1 -1
  81. package/lib/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabMock.tsx +1 -5
  82. package/lib/ocm/components/Routes.tsx +13 -9
  83. package/lib/ocm/components/clusterDetail/AssistedInstallerDetailCard.tsx +2 -3
  84. package/lib/ocm/components/clusterDetail/ClusterDetail.tsx +5 -5
  85. package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +4 -5
  86. package/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +1 -1
  87. package/lib/ocm/components/clusterWizard/ClusterWizardContextProvider.tsx +3 -2
  88. package/lib/ocm/components/clusterWizard/ClusterWizardFooter.tsx +3 -7
  89. package/lib/ocm/components/clusterWizard/Operators.tsx +5 -3
  90. package/lib/ocm/components/clusters/ClusterBreadcrumbs.tsx +2 -3
  91. package/lib/ocm/components/clusters/ClusterPage.tsx +19 -16
  92. package/lib/ocm/components/clusters/ClusterPageErrors.tsx +1 -2
  93. package/lib/ocm/components/clusters/Clusters.tsx +6 -8
  94. package/lib/ocm/components/clusters/ClustersListToolbar.tsx +3 -4
  95. package/lib/ocm/components/clusters/NewClusterPage.tsx +4 -6
  96. package/lib/ocm/components/ui/Buttons/BackButton.tsx +2 -4
  97. package/lib/ocm/store/slices/clusters/selectors.tsx +2 -3
  98. package/package.json +4 -4
  99. package/build/@types/ocm/components/ui/RedirectToCluster.d.ts +0 -8
  100. package/build/@types/ocm/components/ui/RedirectToCluster.d.ts.map +0 -1
  101. package/build/cjs/ocm/components/ui/RedirectToCluster.js +0 -14
  102. package/build/cjs/ocm/components/ui/RedirectToCluster.js.map +0 -1
  103. package/lib/ocm/components/ui/RedirectToCluster.tsx +0 -14
@@ -2,14 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const react_1 = tslib_1.__importDefault(require("react"));
5
- const react_router_dom_1 = require("react-router-dom");
5
+ const react_router_dom_v5_compat_1 = require("react-router-dom-v5-compat");
6
6
  const react_core_1 = require("@patternfly/react-core");
7
7
  const filter_icon_1 = require("@patternfly/react-icons/dist/js/icons/filter-icon");
8
8
  const sync_icon_1 = require("@patternfly/react-icons/dist/js/icons/sync-icon");
9
9
  const common_1 = require("../../../common");
10
10
  const common_2 = require("../../../common");
11
11
  const slice_1 = require("../../store/slices/clusters/slice");
12
- const config_1 = require("../../config");
13
12
  const omit_js_1 = tslib_1.__importDefault(require("lodash-es/omit.js"));
14
13
  const use_translation_wrapper_1 = require("../../../common/hooks/use-translation-wrapper");
15
14
  const store_1 = require("../../store");
@@ -17,7 +16,7 @@ const selectors_1 = require("../../store/slices/clusters/selectors");
17
16
  const clusterStatusFilterLabels = (t) => Array.from(new Set(Object.values((0, omit_js_1.default)((0, common_1.clusterStatusLabels)(t), 'adding-hosts'))));
18
17
  const ClustersListToolbar = ({ searchString, setSearchString, filters, setFilters, }) => {
19
18
  const [isStatusExpanded, setStatusExpanded] = react_1.default.useState(false);
20
- const history = (0, react_router_dom_1.useHistory)();
19
+ const navigate = (0, react_router_dom_v5_compat_1.useNavigate)();
21
20
  const clustersUIState = (0, store_1.useSelectorDay1)(selectors_1.selectClustersUIState);
22
21
  const dispatch = (0, store_1.useDispatchDay1)();
23
22
  const fetchClusters = react_1.default.useCallback(() => void dispatch((0, slice_1.fetchClustersAsync)()), [dispatch]);
@@ -59,7 +58,7 @@ const ClustersListToolbar = ({ searchString, setSearchString, filters, setFilter
59
58
  react_1.default.createElement(react_core_1.TextInput, { name: "search-string", id: "search-string", type: "search", "aria-label": "string to be searched in cluster names or ids", onChange: onSearchNameChanged, value: searchString, placeholder: "Filter by Name, ID or Base domain", title: "Filter by Name, ID or Base domain" }))),
60
59
  react_1.default.createElement(react_core_1.ToolbarFilter, { chips: filters.status, deleteChip: onDeleteChip, deleteChipGroup: onDeleteChipGroup, categoryName: "status" },
61
60
  react_1.default.createElement(react_core_1.Select, { variant: "checkbox", "aria-label": "status", onToggle: onStatusToggle, onSelect: onStatusSelect, selections: filters.status, isOpen: isStatusExpanded, placeholderText: statusPlaceholder, toggleId: "cluster-list-filter-status" }, clusterStatusFilterLabels(t).map((label) => (react_1.default.createElement(react_core_1.SelectOption, { key: label, value: label, inputId: `cluster-list-filter-status-${label}` }))))),
62
- react_1.default.createElement(common_1.ToolbarButton, { variant: react_core_1.ButtonVariant.primary, onClick: () => history.push(`${config_1.routeBasePath}/clusters/~new`), id: "button-create-new-cluster", "data-ouia-id": "button-create-new-cluster" }, "Create Cluster"),
61
+ react_1.default.createElement(common_1.ToolbarButton, { variant: react_core_1.ButtonVariant.primary, onClick: () => navigate(`~new`), id: "button-create-new-cluster", "data-ouia-id": "button-create-new-cluster" }, "Create Cluster"),
63
62
  clustersUIState === common_2.ResourceUIState.RELOADING && react_1.default.createElement(react_core_1.Spinner, { size: "lg" }),
64
63
  react_1.default.createElement(react_core_1.ToolbarGroup, { alignment: { lg: 'alignRight' } },
65
64
  react_1.default.createElement(common_1.ToolbarButton, { variant: react_core_1.ButtonVariant.plain, onClick: () => fetchClusters(), isDisabled: clustersUIState === common_2.ResourceUIState.RELOADING },
@@ -1 +1 @@
1
- {"version":3,"file":"ClustersListToolbar.js","sourceRoot":"","sources":["../../../../../lib/ocm/components/clusters/ClustersListToolbar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClustersListToolbar.js","sourceRoot":"","sources":["../../../../../lib/ocm/components/clusters/ClustersListToolbar.tsx"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ const ClusterLoading_1 = tslib_1.__importDefault(require("./ClusterLoading"));
14
14
  const ClusterPageErrors_1 = require("./ClusterPageErrors");
15
15
  const featureSupportLevels_1 = require("../featureSupportLevels");
16
16
  const AssistedInstallerHeader_1 = require("./AssistedInstallerHeader");
17
- const NewClusterPageGeneric = ({ pageTitleSection, }) => {
17
+ const NewClusterPageGeneric = ({ pageTitleSection }) => {
18
18
  return (react_1.default.createElement(common_1.AlertsContextProvider, null,
19
19
  react_1.default.createElement(SentryErrorMonitorContextProvider_1.SentryErrorMonitorContextProvider, null,
20
20
  react_1.default.createElement(ClusterDefaultConfigurationContext_1.ClusterDefaultConfigurationProvider, { loadingUI: react_1.default.createElement(ClusterLoading_1.default, null), errorUI: react_1.default.createElement(ClusterPageErrors_1.ClusterUiError, null) },
@@ -1 +1 @@
1
- {"version":3,"file":"NewClusterPage.js","sourceRoot":"","sources":["../../../../../lib/ocm/components/clusters/NewClusterPage.tsx"],"names":[],"mappings":";;;;AAAA,0DAAyC;AACzC,uDAA0E;AAC1E,4CAAwD;AACxD,sFAAsD;AACtD,mHAAiH;AACjH,iGAAiE;AACjE,yHAAyF;AACzF,4FAAyF;AACzF,8EAA8C;AAC9C,2DAAqD;AACrD,kEAAyE;AACzE,uEAAoE;AAEpE,MAAM,qBAAqB,GAA+C,CAAC,EACzE,gBAAgB,GACjB,EAAE,EAAE;IACH,OAAO,CACL,8BAAC,8BAAqB;QACpB,8BAAC,qEAAiC;YAChC,8BAAC,wEAAmC,IAClC,SAAS,EAAE,8BAAC,wBAAc,OAAG,EAC7B,OAAO,EAAE,8BAAC,kCAAc,OAAG;gBAE3B,8BAAC,qDAA8B,IAAC,SAAS,EAAE,8BAAC,wBAAc,OAAG;oBAC1D,gBAAgB;oBACjB,8BAAC,wBAAW,IAAC,OAAO,EAAE,gCAAmB,CAAC,KAAK,EAAE,QAAQ;wBACvD,8BAAC,sCAA4B;4BAC3B,8BAAC,0BAAgB,OAAG,CACS,CACnB,CACiB,CACG,CACJ,CACd,CACzB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAa,GAAG,EAAE,CAAC,CAC7C;IACE,8BAAC,4BAAkB,IAAC,WAAW,EAAC,aAAa,GAAG;IAChD,8BAAC,wBAAW,IAAC,OAAO,EAAE,gCAAmB,CAAC,KAAK;QAC7C,8BAAC,iDAAuB,OAAG,CACf,CACb,CACJ,CAAC;AAEK,MAAM,oBAAoB,GAAa,GAAG,EAAE,CAAC,8BAAC,qBAAqB,OAAG,CAAC;AAAjE,QAAA,oBAAoB,wBAA6C;AACvE,MAAM,cAAc,GAAa,GAAG,EAAE,CAAC,CAC5C,8BAAC,qBAAqB,IAAC,gBAAgB,EAAE,8BAAC,sBAAsB,OAAG,GAAI,CACxE,CAAC;AAFW,QAAA,cAAc,kBAEzB"}
1
+ {"version":3,"file":"NewClusterPage.js","sourceRoot":"","sources":["../../../../../lib/ocm/components/clusters/NewClusterPage.tsx"],"names":[],"mappings":";;;;AAAA,0DAAyC;AACzC,uDAA0E;AAC1E,4CAAwD;AACxD,sFAAsD;AACtD,mHAAiH;AACjH,iGAAiE;AACjE,yHAAyF;AACzF,4FAAyF;AACzF,8EAA8C;AAC9C,2DAAqD;AACrD,kEAAyE;AACzE,uEAAoE;AAEpE,MAAM,qBAAqB,GAAG,CAAC,EAAE,gBAAgB,EAAoC,EAAE,EAAE;IACvF,OAAO,CACL,8BAAC,8BAAqB;QACpB,8BAAC,qEAAiC;YAChC,8BAAC,wEAAmC,IAClC,SAAS,EAAE,8BAAC,wBAAc,OAAG,EAC7B,OAAO,EAAE,8BAAC,kCAAc,OAAG;gBAE3B,8BAAC,qDAA8B,IAAC,SAAS,EAAE,8BAAC,wBAAc,OAAG;oBAC1D,gBAAgB;oBACjB,8BAAC,wBAAW,IAAC,OAAO,EAAE,gCAAmB,CAAC,KAAK,EAAE,QAAQ;wBACvD,8BAAC,sCAA4B;4BAC3B,8BAAC,0BAAgB,OAAG,CACS,CACnB,CACiB,CACG,CACJ,CACd,CACzB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,GAAG,EAAE,CAAC,CACnC;IACE,8BAAC,4BAAkB,IAAC,WAAW,EAAC,aAAa,GAAG;IAChD,8BAAC,wBAAW,IAAC,OAAO,EAAE,gCAAmB,CAAC,KAAK;QAC7C,8BAAC,iDAAuB,OAAG,CACf,CACb,CACJ,CAAC;AAEK,MAAM,oBAAoB,GAAG,GAAG,EAAE,CAAC,8BAAC,qBAAqB,OAAG,CAAC;AAAvD,QAAA,oBAAoB,wBAAmC;AAC7D,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,CAClC,8BAAC,qBAAqB,IAAC,gBAAgB,EAAE,8BAAC,sBAAsB,OAAG,GAAI,CACxE,CAAC;AAFW,QAAA,cAAc,kBAEzB"}
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BackButton = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const react_router_dom_1 = require("react-router-dom");
5
+ const react_router_dom_v5_compat_1 = require("react-router-dom-v5-compat");
6
6
  const react_core_1 = require("@patternfly/react-core");
7
7
  const react_1 = tslib_1.__importDefault(require("react"));
8
- const BackButton = ({ to, variant = 'secondary' }) => (react_1.default.createElement(react_core_1.Button, { variant: variant, component: (props) => react_1.default.createElement(react_router_dom_1.Link, Object.assign({ to: to }, props)) }, "Back"));
8
+ const BackButton = ({ to, variant = 'secondary' }) => (react_1.default.createElement(react_core_1.Button, { variant: variant, component: (props) => react_1.default.createElement(react_router_dom_v5_compat_1.Link, Object.assign({ to: to }, props)) }, "Back"));
9
9
  exports.BackButton = BackButton;
10
10
  //# sourceMappingURL=BackButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BackButton.js","sourceRoot":"","sources":["../../../../../../lib/ocm/components/ui/Buttons/BackButton.tsx"],"names":[],"mappings":";;;;AAAA,uDAAwC;AAIxC,uDAAgD;AAChD,0DAA0B;AAMnB,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,GAAG,WAAW,EAAmB,EAAE,EAAE,CAAC,CAC5E,8BAAC,mBAAM,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,8BAAC,uBAAI,kBAAC,EAAE,EAAE,EAAE,IAAM,KAAK,EAAI,WAElE,CACV,CAAC;AAJW,QAAA,UAAU,cAIrB"}
1
+ {"version":3,"file":"BackButton.js","sourceRoot":"","sources":["../../../../../../lib/ocm/components/ui/Buttons/BackButton.tsx"],"names":[],"mappings":";;;;AAAA,2EAA6D;AAE7D,uDAAgD;AAChD,0DAA0B;AAMnB,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,GAAG,WAAW,EAAmB,EAAE,EAAE,CAAC,CAC5E,8BAAC,mBAAM,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,8BAAC,iCAAI,kBAAC,EAAE,EAAE,EAAE,IAAM,KAAK,EAAI,WAElE,CACV,CAAC;AAJW,QAAA,UAAU,cAIrB"}
@@ -4,10 +4,9 @@ exports.selectClusterNames = exports.selectClusterTableRows = exports.getCluster
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
6
  const toolkit_1 = require("@reduxjs/toolkit");
7
- const react_router_dom_1 = require("react-router-dom");
7
+ const react_router_dom_v5_compat_1 = require("react-router-dom-v5-compat");
8
8
  const common_1 = require("../../../../common");
9
9
  const ClusterStatus_1 = tslib_1.__importStar(require("../../../components/clusters/ClusterStatus"));
10
- const config_1 = require("../../../config");
11
10
  const selectClusters = (state) => state.clusters.data;
12
11
  const clustersUIState = (state) => state.clusters.uiState;
13
12
  exports.selectClustersUIState = (0, toolkit_1.createSelector)([selectClusters, clustersUIState], (clusters, uiState) => {
@@ -30,7 +29,7 @@ const clusterToClusterTableRow = (cluster, t) => {
30
29
  return {
31
30
  cells: [
32
31
  {
33
- title: (react_1.default.createElement(react_router_dom_1.Link, { key: name, to: `${config_1.routeBasePath}/clusters/${id}`, id: `cluster-link-${id}` }, name)),
32
+ title: (react_1.default.createElement(react_router_dom_v5_compat_1.Link, { key: name, to: id, id: `cluster-link-${id}` }, name)),
34
33
  props: { 'data-testid': `cluster-name-${name}` },
35
34
  sortableValue: name,
36
35
  },
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../../../../lib/ocm/store/slices/clusters/selectors.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../../../../lib/ocm/store/slices/clusters/selectors.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Alert, AlertVariant, List, ListComponent, ListItem } from '@patternfly/react-core';
3
- import { Link } from 'react-router-dom';
3
+ import { Link } from 'react-router-dom-v5-compat';
4
4
  import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
5
5
  import { Trans } from 'react-i18next';
6
6
  import { CpuArchitecture } from '../../../common';
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { sortable, expandable, breakWord } from '@patternfly/react-table';
3
- import { Link } from 'react-router-dom';
3
+ import { Link } from 'react-router-dom-v5-compat';
4
4
 
5
5
  import {
6
6
  HostsTableActions,
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { Link } from 'react-router-dom';
2
+ import { Link } from 'react-router-dom-v5-compat';
3
3
  import { Button, Label, Popover, Stack, StackItem } from '@patternfly/react-core';
4
4
  import { PlusCircleIcon } from '@patternfly/react-icons/dist/js/icons/plus-circle-icon';
5
5
  import {
@@ -16,7 +16,7 @@ import { AddHostDropdownProps } from './types';
16
16
  import './AddHostDropdown.css';
17
17
  import { PopoverIcon } from '../../../common';
18
18
  import { Trans } from 'react-i18next';
19
- import { Link } from 'react-router-dom';
19
+ import { Link } from 'react-router-dom-v5-compat';
20
20
 
21
21
  type ModalType = 'iso' | 'bmc' | 'yaml' | 'ipxe' | undefined;
22
22
 
@@ -3,7 +3,7 @@ import { AgentClusterInstallK8sResource } from '../../types/k8s/agent-cluster-in
3
3
 
4
4
  type ConnectivityMajorityGroups = {
5
5
  l3_connected_addresses: object;
6
- majority_groups: { [key: string]: string[] };
6
+ majority_groups?: { [key: string]: string[] };
7
7
  };
8
8
 
9
9
  export const getHostNetworks = (
@@ -18,12 +18,14 @@ export const getHostNetworks = (
18
18
  agentClusterInstall.status.connectivityMajorityGroups,
19
19
  ) as ConnectivityMajorityGroups;
20
20
 
21
- return Object.keys(connectivityMajorityGroups.majority_groups)
21
+ const majorityGroups = connectivityMajorityGroups.majority_groups || {};
22
+
23
+ return Object.keys(majorityGroups)
22
24
  .filter((k) => !['IPv4', 'IPv6'].includes(k))
23
25
  .map((cidr) => {
24
26
  const hostIds: string[] = [];
25
27
 
26
- connectivityMajorityGroups.majority_groups[cidr].forEach((hostName: string) => {
28
+ majorityGroups[cidr].forEach((hostName: string) => {
27
29
  const agent: AgentK8sResource | undefined = agents.find(
28
30
  (agent) => agent.metadata?.name === hostName,
29
31
  );
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { useHistory } from 'react-router-dom';
2
+ import { useNavigate } from 'react-router-dom-v5-compat';
3
3
  import {
4
4
  Alert,
5
5
  AlertVariant,
@@ -26,7 +26,7 @@ export const CimConfigProgressAlert: React.FC<CimConfigProgressAlertProps> = ({
26
26
  assistedServiceDeploymentUrl,
27
27
  }) => {
28
28
  const { t } = useTranslation();
29
- const history = useHistory();
29
+ const navigate = useNavigate();
30
30
  const [hideSuccess, setHideSuccess] = React.useState(true);
31
31
 
32
32
  React.useEffect(
@@ -68,7 +68,7 @@ export const CimConfigProgressAlert: React.FC<CimConfigProgressAlertProps> = ({
68
68
  variant={ButtonVariant.link}
69
69
  isInline
70
70
  key="assisted-service-deployment"
71
- onClick={() => history.push(assistedServiceDeploymentUrl)}
71
+ onClick={() => navigate(assistedServiceDeploymentUrl)}
72
72
  >
73
73
  {t('ai:Troubleshoot in the assisted service deployment')} <ExternalLinkAltIcon />
74
74
  </Button>
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { useHistory } from 'react-router-dom';
2
+ import { useNavigate } from 'react-router-dom-v5-compat';
3
3
  import { Alert, AlertActionLink, AlertVariant } from '@patternfly/react-core';
4
4
  import { ExternalLinkAltIcon } from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
5
5
 
@@ -10,7 +10,7 @@ export const CimStorageMissingAlert: React.FC<{
10
10
  storageOperatorUrl: string;
11
11
  }> = ({ docStorageUrl, storageOperatorUrl }) => {
12
12
  const { t } = useTranslation();
13
- const history = useHistory();
13
+ const navigate = useNavigate();
14
14
 
15
15
  const contentWorkaround = (
16
16
  <>
@@ -20,10 +20,7 @@ export const CimStorageMissingAlert: React.FC<{
20
20
  );
21
21
 
22
22
  const actionLinks: React.ReactNode[] = [
23
- <AlertActionLink
24
- key="install-storage-operator"
25
- onClick={() => history.push(storageOperatorUrl)}
26
- >
23
+ <AlertActionLink key="install-storage-operator" onClick={() => navigate(storageOperatorUrl)}>
27
24
  {t('ai:Install storage operator')}
28
25
  </AlertActionLink>,
29
26
  <AlertActionLink key="storage-class" onClick={() => window.open(docStorageUrl, '_blank')}>
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { Button, Flex, FlexItem, Popover } from '@patternfly/react-core';
3
3
  import { InfoCircleIcon } from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
4
- import { Link } from 'react-router-dom';
4
+ import { Link } from 'react-router-dom-v5-compat';
5
5
  import { sortable } from '@patternfly/react-table';
6
6
  import { global_palette_blue_300 as blueInfoColor } from '@patternfly/react-tokens/dist/js/global_palette_blue_300';
7
7
  import {
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import { RouteComponentProps } from 'react-router-dom';
3
2
  import {
4
3
  ButtonVariant,
5
4
  EmptyState,
@@ -9,7 +8,6 @@ import {
9
8
  PageSectionVariants,
10
9
  Title,
11
10
  } from '@patternfly/react-core';
12
- import { HostsClusterDetailTabProps } from './types';
13
11
  import {
14
12
  OcmCpuArchitecture,
15
13
  STANDALONE_DEPLOYMENT_ENABLED_FEATURES,
@@ -43,9 +41,7 @@ const getCluster = (type: string) => {
43
41
  }
44
42
  };
45
43
 
46
- export const HostsClusterDetailTabMock: React.FC<
47
- RouteComponentProps & HostsClusterDetailTabProps
48
- > = () => {
44
+ export const HostsClusterDetailTabMock = () => {
49
45
  const [tabShown, setTabShown] = React.useState<string>('');
50
46
  const [isMocked, setIsMocked] = React.useState<boolean>(false);
51
47
 
@@ -1,29 +1,33 @@
1
1
  import React from 'react';
2
2
  import { Provider } from 'react-redux';
3
- import { Switch, Route, Redirect } from 'react-router-dom';
3
+ import { Routes, Route, Navigate, Outlet } from 'react-router-dom-v5-compat';
4
4
  import { Clusters, ClusterPage, NewClusterPage } from './clusters';
5
5
  import type { FeatureListType } from '../../common/features/featureGate';
6
- import { routeBasePath } from '../config';
7
6
  import { AssistedUILibVersion } from './ui';
8
7
  import { storeDay1 } from '../store';
9
8
  import { useFeatureDetection } from '../hooks/use-feature-detection';
10
9
 
11
- export const Routes: React.FC<{ allEnabledFeatures: FeatureListType }> = ({
10
+ export const UILibRoutes = ({
12
11
  allEnabledFeatures,
13
12
  children,
13
+ }: {
14
+ allEnabledFeatures: FeatureListType;
15
+ children: React.ReactNode;
14
16
  }) => {
15
17
  useFeatureDetection(allEnabledFeatures);
16
18
 
17
19
  return (
18
20
  <Provider store={storeDay1}>
19
21
  <AssistedUILibVersion />
20
- <Switch>
21
- <Route path={`${routeBasePath}/clusters/~new`} component={NewClusterPage} />
22
- <Route path={`${routeBasePath}/clusters/:clusterId`} component={ClusterPage} />
23
- <Route path={`${routeBasePath}/clusters`} component={Clusters} />
22
+ <Routes>
23
+ <Route path="clusters" element={<Outlet />}>
24
+ <Route path="~new" element={<NewClusterPage />} />
25
+ <Route path=":clusterId" element={<ClusterPage />} />
26
+ <Route index element={<Clusters />} />
27
+ </Route>
24
28
  {children}
25
- <Redirect to={`${routeBasePath}/clusters`} />
26
- </Switch>
29
+ <Route path="*" element={<Navigate to="clusters" />} />
30
+ </Routes>
27
31
  </Provider>
28
32
  );
29
33
  };
@@ -2,7 +2,6 @@ import React from 'react';
2
2
  import { Provider } from 'react-redux';
3
3
  import { Card, CardBody, CardHeader, Title } from '@patternfly/react-core';
4
4
  import { storeDay1 } from '../../store';
5
- import { OCM_CLUSTER_LIST_LINK } from '../../config';
6
5
  import {
7
6
  AlertsContextProvider,
8
7
  AssistedInstallerOCMPermissionTypesListType,
@@ -62,7 +61,7 @@ const ClusterLoadFailed = ({ clusterId, error }: { clusterId: Cluster['id']; err
62
61
  <ErrorState
63
62
  title="Failed to fetch the cluster"
64
63
  fetchData={fetchCluster}
65
- actions={[<BackButton key={'cancel'} to={OCM_CLUSTER_LIST_LINK} />]}
64
+ actions={[<BackButton key={'cancel'} to={'..'} />]}
66
65
  content={error}
67
66
  />
68
67
  </CardBody>
@@ -80,7 +79,7 @@ const LoadingDefaultConfigFailedCard = () => (
80
79
  <CardBody>
81
80
  <ErrorState
82
81
  title="Failed to retrieve the default configuration"
83
- actions={[<BackButton key={'cancel'} to={OCM_CLUSTER_LIST_LINK} />]}
82
+ actions={[<BackButton key={'cancel'} to={'..'} />]}
84
83
  />
85
84
  </CardBody>
86
85
  </Card>
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { useHistory } from 'react-router-dom';
2
+ import { useNavigate } from 'react-router-dom-v5-compat';
3
3
  import {
4
4
  Stack,
5
5
  StackItem,
@@ -40,7 +40,7 @@ const ClusterDetail: React.FC<ClusterDetailProps> = ({ cluster }) => {
40
40
  const isSNOExpansionAllowed =
41
41
  featureSupportLevelContext.isFeatureSupported('SINGLE_NODE_EXPANSION');
42
42
  const isSingleClusterFeatureEnabled = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
43
- const history = useHistory();
43
+ const navigate = useNavigate();
44
44
  const canAddHosts =
45
45
  (!isSNO(cluster) || isSNOExpansionAllowed) && cluster.status === 'installed' && !isInOcm;
46
46
 
@@ -49,13 +49,13 @@ const ClusterDetail: React.FC<ClusterDetailProps> = ({ cluster }) => {
49
49
  try {
50
50
  const { data } = await ClustersAPI.allowAddHosts(cluster.id);
51
51
  updateCluster(data);
52
- history.push(`${routeBasePath}/clusters/${cluster.id}`);
52
+ navigate(`${routeBasePath}/clusters/${cluster.id}`);
53
53
  } catch (e) {
54
54
  handleApiError(e);
55
55
  }
56
56
  };
57
57
  void doItAsync();
58
- }, [cluster.id, history]);
58
+ }, [cluster.id, navigate]);
59
59
 
60
60
  return (
61
61
  <Stack hasGutter>
@@ -112,7 +112,7 @@ const ClusterDetail: React.FC<ClusterDetailProps> = ({ cluster }) => {
112
112
  {!isSingleClusterFeatureEnabled && (
113
113
  <ToolbarButton
114
114
  variant={ButtonVariant.link}
115
- onClick={() => history.push(`${routeBasePath}/clusters`)}
115
+ onClick={() => navigate('..')}
116
116
  id={getClusterDetailId('button-back-to-all-clusters')}
117
117
  >
118
118
  Back to all clusters
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { useHistory } from 'react-router-dom';
2
+ import { useNavigate } from 'react-router-dom-v5-compat';
3
3
  import { useDispatch } from 'react-redux';
4
4
  import { useAlerts, LoadingState, ClusterWizardStep, ErrorState } from '../../../common';
5
5
  import { usePullSecret } from '../../hooks';
@@ -10,7 +10,6 @@ import { canNextClusterDetails, ClusterWizardFlowStateNew } from './wizardTransi
10
10
  import { useOpenshiftVersions, useManagedDomains, useUsedClusterNames } from '../../hooks';
11
11
  import ClusterDetailsForm from './ClusterDetailsForm';
12
12
  import ClusterWizardNavigation from './ClusterWizardNavigation';
13
- import { routeBasePath } from '../../config';
14
13
  import {
15
14
  ClusterDetailsUpdateParams,
16
15
  ClustersService,
@@ -28,7 +27,7 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
28
27
  const clusterWizardContext = useClusterWizardContext();
29
28
  const managedDomains = useManagedDomains();
30
29
  const { addAlert, clearAlerts } = useAlerts();
31
- const history = useHistory();
30
+ const navigate = useNavigate();
32
31
  const dispatch = useDispatch();
33
32
  const { usedClusterNames } = useUsedClusterNames(cluster?.id || '');
34
33
  const pullSecret = usePullSecret();
@@ -69,7 +68,7 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
69
68
  clearAlerts();
70
69
  try {
71
70
  const cluster = await ClustersService.create(params);
72
- history.push(`${routeBasePath}/clusters/${cluster.id}`, ClusterWizardFlowStateNew);
71
+ navigate(`../${cluster.id}`, { state: ClusterWizardFlowStateNew });
73
72
  await UISettingService.update(cluster.id, { addCustomManifests });
74
73
  } catch (e) {
75
74
  handleApiError(e, () =>
@@ -80,7 +79,7 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
80
79
  }
81
80
  }
82
81
  },
83
- [clearAlerts, history, addAlert, dispatch],
82
+ [clearAlerts, navigate, addAlert, dispatch],
84
83
  );
85
84
 
86
85
  const navigation = <ClusterWizardNavigation cluster={cluster} />;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { useSelector } from 'react-redux';
3
- import { useLocation } from 'react-router-dom';
3
+ import { useLocation } from 'react-router-dom-v5-compat';
4
4
  import { Grid, GridItem } from '@patternfly/react-core';
5
5
  import isUndefined from 'lodash-es/isUndefined.js';
6
6
  import { Formik, FormikHelpers } from 'formik';
@@ -1,5 +1,5 @@
1
1
  import React, { PropsWithChildren } from 'react';
2
- import { useLocation } from 'react-router-dom';
2
+ import { useLocation } from 'react-router-dom-v5-compat';
3
3
  import { ClusterWizardContextType, ClusterWizardContext } from './ClusterWizardContext';
4
4
  import {
5
5
  ClusterWizardFlowStateType,
@@ -91,7 +91,8 @@ const ClusterWizardContextProvider = ({
91
91
  const [wizardStepIds, setWizardStepIds] = React.useState<ClusterWizardStepsType[]>();
92
92
  const [wizardPerPage, setWizardPerPage] = React.useState(10);
93
93
  const [customManifestsStep, setCustomManifestsStep] = React.useState<boolean>(false);
94
- const { state: locationState } = useLocation<ClusterWizardFlowStateType>();
94
+ const location = useLocation();
95
+ const locationState = location.state as ClusterWizardFlowStateType | undefined;
95
96
  const {
96
97
  uiSettings,
97
98
  updateUISettings,
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { useHistory } from 'react-router-dom';
2
+ import { useNavigate } from 'react-router-dom-v5-compat';
3
3
  import { Alert, AlertGroup, AlertVariant } from '@patternfly/react-core';
4
4
  import {
5
5
  WizardFooter,
@@ -9,7 +9,6 @@ import {
9
9
  clusterFieldLabels,
10
10
  selectClusterValidationsInfo,
11
11
  } from '../../../common';
12
- import { routeBasePath } from '../../config';
13
12
  import { wizardStepsValidationsMap } from './wizardTransition';
14
13
  import { useClusterWizardContext } from './ClusterWizardContext';
15
14
  import ClusterWizardStepValidationsAlert from '../../../common/components/clusterWizard/ClusterWizardStepValidationsAlert';
@@ -79,12 +78,9 @@ const ClusterWizardFooter = ({
79
78
  ...rest
80
79
  }: ClusterWizardFooterProps) => {
81
80
  const { alerts } = useAlerts();
82
- const history = useHistory();
81
+ const navigate = useNavigate();
83
82
 
84
- const handleCancel = React.useCallback(
85
- () => history.push(`${routeBasePath}/clusters/`),
86
- [history],
87
- );
83
+ const handleCancel = React.useCallback(() => navigate('..'), [navigate]);
88
84
 
89
85
  const alertsSection = alerts.length ? <Alerts /> : undefined;
90
86
 
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { useDispatch } from 'react-redux';
3
- import { useHistory, useLocation } from 'react-router-dom';
3
+ import { useLocation, useNavigate } from 'react-router-dom-v5-compat';
4
4
  import { Formik, FormikConfig, useFormikContext } from 'formik';
5
5
  import {
6
6
  ClusterWizardStep,
@@ -42,7 +42,7 @@ const OperatorsForm = ({ cluster }: { cluster: Cluster }) => {
42
42
  const clusterWizardContext = useClusterWizardContext();
43
43
  const isAutoSaveRunning = useFormikAutoSave();
44
44
  const { errors, touched, isSubmitting, isValid } = useFormikContext<OperatorsValues>();
45
- const history = useHistory();
45
+ const navigate = useNavigate();
46
46
  const { pathname } = useLocation();
47
47
 
48
48
  const isNextDisabled =
@@ -53,7 +53,9 @@ const OperatorsForm = ({ cluster }: { cluster: Cluster }) => {
53
53
  !canNextOperators({ cluster });
54
54
 
55
55
  const handleNext = () => {
56
- history.replace(pathname, undefined);
56
+ if (window.location.pathname.indexOf('assisted-installer') > -1) {
57
+ navigate(pathname, { state: undefined, replace: true });
58
+ }
57
59
  clusterWizardContext.moveNext();
58
60
  };
59
61
 
@@ -5,8 +5,7 @@ import {
5
5
  BreadcrumbItem,
6
6
  PageSection,
7
7
  } from '@patternfly/react-core';
8
- import { Link } from 'react-router-dom';
9
- import { routeBasePath } from '../../config';
8
+ import { Link } from 'react-router-dom-v5-compat';
10
9
  import { isInOcm } from '../../../common/api';
11
10
 
12
11
  const ClusterBreadcrumbs = ({ clusterName }: { clusterName?: string }) => (
@@ -18,7 +17,7 @@ const ClusterBreadcrumbs = ({ clusterName }: { clusterName?: string }) => (
18
17
  </BreadcrumbItem>
19
18
  {clusterName ? (
20
19
  <BreadcrumbItem>
21
- <Link to={`${routeBasePath}/clusters`}>Assisted Clusters</Link>
20
+ <Link to={`..`}>Assisted Clusters</Link>
22
21
  </BreadcrumbItem>
23
22
  ) : (
24
23
  <BreadcrumbItem isActive>Assisted Clusters</BreadcrumbItem>
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Redirect, RouteComponentProps } from 'react-router-dom';
2
+ import { useParams, Navigate } from 'react-router-dom-v5-compat';
3
3
  import { useDispatch } from 'react-redux';
4
4
  import { PageSection, PageSectionVariants, Text, TextContent } from '@patternfly/react-core';
5
5
  import {
@@ -34,13 +34,12 @@ import { usePullSecret } from '../../hooks';
34
34
  import { Cluster, InfraEnv } from '@openshift-assisted/types/assisted-installer-service';
35
35
  import { AssistedInstallerHeader } from './AssistedInstallerHeader';
36
36
 
37
- type MatchParams = {
38
- clusterId: string;
39
- };
40
-
41
- const ClusterPageGeneric: React.FC<{ clusterId: string; showBreadcrumbs?: boolean }> = ({
37
+ const ClusterPageGeneric = ({
42
38
  clusterId,
43
39
  showBreadcrumbs = false,
40
+ }: {
41
+ clusterId: string;
42
+ showBreadcrumbs?: boolean;
44
43
  }) => {
45
44
  if (!clusterId) {
46
45
  // console.error('ClusterPageGeneric: missing clusterId');
@@ -129,7 +128,7 @@ const ClusterPageGeneric: React.FC<{ clusterId: string; showBreadcrumbs?: boolea
129
128
 
130
129
  if (uiState === ResourceUIState.POLLING_ERROR && !cluster) {
131
130
  if (Number(errorDetail?.code) === 404) {
132
- return <Redirect to={`${routeBasePath}/clusters`} />;
131
+ return <Navigate to={`${routeBasePath}/clusters`} />;
133
132
  }
134
133
  return (
135
134
  <PageSection variant={PageSectionVariants.light} isFilled>
@@ -138,7 +137,7 @@ const ClusterPageGeneric: React.FC<{ clusterId: string; showBreadcrumbs?: boolea
138
137
  fetchData={
139
138
  Number(errorDetail?.code) === 401 ? () => window.location.reload() : fetchCluster
140
139
  }
141
- actions={[<BackButton key={'cancel'} to={`${routeBasePath}/clusters`} />]}
140
+ actions={[<BackButton key={'cancel'} to={'..'} />]}
142
141
  />
143
142
  </PageSection>
144
143
  );
@@ -149,7 +148,7 @@ const ClusterPageGeneric: React.FC<{ clusterId: string; showBreadcrumbs?: boolea
149
148
  <PageSection variant={PageSectionVariants.light} isFilled>
150
149
  <ErrorState
151
150
  title="Cluster details not found"
152
- actions={[<BackButton key={'cancel'} to={`${routeBasePath}/clusters`} />]}
151
+ actions={[<BackButton key={'cancel'} to={`..`} />]}
153
152
  content={
154
153
  'Check to make sure the cluster-ID is valid. Otherwise, the cluster details may have been deleted.'
155
154
  }
@@ -193,16 +192,20 @@ const ClusterPageGeneric: React.FC<{ clusterId: string; showBreadcrumbs?: boolea
193
192
  );
194
193
  }
195
194
 
196
- return <Redirect to="/clusters" />;
195
+ return <Navigate to="/clusters" />;
197
196
  };
198
197
 
199
- export const SingleClusterPage: React.FC<{ clusterId: string }> = ({ clusterId }) => (
198
+ export const SingleClusterPage = ({ clusterId }: { clusterId: string }) => (
200
199
  <AlertsContextProvider>
201
200
  <ClusterPageGeneric clusterId={clusterId} />
202
201
  </AlertsContextProvider>
203
202
  );
204
- export const ClusterPage: React.FC<RouteComponentProps<MatchParams>> = ({ match }) => (
205
- <AlertsContextProvider>
206
- <ClusterPageGeneric clusterId={match.params.clusterId} showBreadcrumbs />
207
- </AlertsContextProvider>
208
- );
203
+
204
+ export const ClusterPage = () => {
205
+ const { clusterId } = useParams<{ clusterId: string }>();
206
+ return (
207
+ <AlertsContextProvider>
208
+ <ClusterPageGeneric clusterId={clusterId || ''} showBreadcrumbs />
209
+ </AlertsContextProvider>
210
+ );
211
+ };