diff --git a/src/renderer/components/layout/sidebar.tsx b/src/renderer/components/layout/sidebar.tsx index 7714d1600e..0c56923c28 100644 --- a/src/renderer/components/layout/sidebar.tsx +++ b/src/renderer/components/layout/sidebar.tsx @@ -97,6 +97,31 @@ export class Sidebar extends React.Component { return routes; } + renderRegisteredMenus() { + return clusterPageMenuRegistry.getRootItems().map((menuItem) => { + const registeredPage = clusterPageRegistry.getByPageMenuTarget(menuItem.target); + let pageUrl: string; + let isActive = false; + if (registeredPage) { + const { extensionId, id: pageId } = registeredPage; + pageUrl = getExtensionPageUrl({ extensionId, pageId, params: menuItem.target.params }); + isActive = pageUrl === navigation.location.pathname; + } + const tabRoutes = this.getTabLayoutRoutes(menuItem); + if (!registeredPage && tabRoutes.length == 0) { + return; + } + return ( + } + isActive={isActive} + subMenus={tabRoutes} + /> + ); + }); + } + render() { const { toggle, isPinned, className } = this.props; const query = namespaceStore.getContextParams(); @@ -212,28 +237,7 @@ export class Sidebar extends React.Component { > {this.renderCustomResources()} - {clusterPageMenuRegistry.getRootItems().map((menuItem) => { - const registeredPage = clusterPageRegistry.getByPageMenuTarget(menuItem.target); - let pageUrl: string; - let isActive = false; - if (registeredPage) { - const { extensionId, id: pageId } = registeredPage; - pageUrl = getExtensionPageUrl({ extensionId, pageId, params: menuItem.target.params }); - isActive = pageUrl === navigation.location.pathname; - } - const tabRoutes = this.getTabLayoutRoutes(menuItem); - if (!registeredPage && tabRoutes.length == 0) { - return; - } - return ( - } - isActive={isActive} - subMenus={tabRoutes} - /> - ); - })} + {this.renderRegisteredMenus()}