diff --git a/src/renderer/components/hotbar/hotbar-entity-icon.tsx b/src/renderer/components/hotbar/hotbar-entity-icon.tsx index fc6628f3eb..7280513227 100644 --- a/src/renderer/components/hotbar/hotbar-entity-icon.tsx +++ b/src/renderer/components/hotbar/hotbar-entity-icon.tsx @@ -44,20 +44,16 @@ interface Props extends DOMAttributes { @observer export class HotbarEntityIcon extends React.Component { - @observable private contextMenu: CatalogEntityContextMenuContext; + @observable private contextMenu: CatalogEntityContextMenuContext = { + menuItems: [], + navigate: (url: string) => navigate(url), + }; constructor(props: Props) { super(props); makeObservable(this); } - componentDidMount() { - this.contextMenu = { - menuItems: [], - navigate: (url: string) => navigate(url), - }; - } - get kindIcon() { const className = "badge"; const category = catalogCategoryRegistry.getCategoryForEntity(this.props.entity); diff --git a/src/renderer/components/layout/sidebar.tsx b/src/renderer/components/layout/sidebar.tsx index ed9b76a8d1..256dcd1484 100644 --- a/src/renderer/components/layout/sidebar.tsx +++ b/src/renderer/components/layout/sidebar.tsx @@ -42,6 +42,8 @@ import * as routes from "../../../common/routes"; import { Config } from "../+config"; import { catalogEntityRegistry } from "../../api/catalog-entity-registry"; import { HotbarIcon } from "../hotbar/hotbar-icon"; +import { observable } from "mobx"; +import type { CatalogEntityContextMenuContext } from "../../../common/catalog"; interface Props { className?: string; @@ -50,6 +52,10 @@ interface Props { @observer export class Sidebar extends React.Component { static displayName = "Sidebar"; + @observable private contextMenu: CatalogEntityContextMenuContext = { + menuItems: [], + navigate: (url: string) => navigate(url), + }; async componentDidMount() { crdStore.reloadAll(); @@ -194,6 +200,8 @@ export class Sidebar extends React.Component { src={spec.icon?.src} className="mr-5" onClick={() => navigate("/")} + menuItems={this.contextMenu.menuItems} + onMenuOpen={() => this.clusterEntity.onContextMenuOpen(this.contextMenu)} />
{metadata.name}