diff --git a/src/common/cluster-store.ts b/src/common/cluster-store.ts index 611b3b6c38..8dca6d6936 100644 --- a/src/common/cluster-store.ts +++ b/src/common/cluster-store.ts @@ -83,6 +83,10 @@ export class ClusterStore extends BaseStore { return Array.from(this.clusters.values()); } + isActive(id: ClusterId) { + return this.activeCluster.id === id; + } + setActive(id: ClusterId) { this.activeClusterId = id; } diff --git a/src/renderer/components/cluster-manager/cluster-status.tsx b/src/renderer/components/cluster-manager/cluster-status.tsx index feef102968..b7595c17fa 100644 --- a/src/renderer/components/cluster-manager/cluster-status.tsx +++ b/src/renderer/components/cluster-manager/cluster-status.tsx @@ -47,11 +47,11 @@ export class ClusterStatus extends React.Component { } componentWillUnmount() { - ipcRenderer.removeAllListeners(`kube-auth:${this.cluster.id}`); + ipcRenderer.removeAllListeners(`kube-auth:${this.props.clusterId}`); } refreshCluster = async () => { - await clusterIpc.activate.invokeFromRenderer(this.cluster.id); + await clusterIpc.activate.invokeFromRenderer(this.props.clusterId); } reconnect = async () => { diff --git a/src/renderer/components/cluster-manager/clusters-menu.tsx b/src/renderer/components/cluster-manager/clusters-menu.tsx index f5bba3ae41..14ef57543d 100644 --- a/src/renderer/components/cluster-manager/clusters-menu.tsx +++ b/src/renderer/components/cluster-manager/clusters-menu.tsx @@ -59,6 +59,9 @@ export class ClustersMenu extends React.Component { menu.append(new MenuItem({ label: _i18n._(t`Disconnect`), click: async () => { + if (clusterStore.isActive(cluster.id)) { + navigate(landingURL()); + } await clusterIpc.disconnect.invokeFromRenderer(cluster.id); } }))