From 3c6b229ccc06e5a0c5e3cb6ad5f65dd7a8715999 Mon Sep 17 00:00:00 2001 From: alexfront Date: Thu, 13 Aug 2020 10:54:00 +0300 Subject: [PATCH] Navigate to landing page on cluster disconnect Signed-off-by: alexfront --- src/common/cluster-store.ts | 4 ++++ src/renderer/components/cluster-manager/cluster-status.tsx | 4 ++-- src/renderer/components/cluster-manager/clusters-menu.tsx | 3 +++ 3 files changed, 9 insertions(+), 2 deletions(-) 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 e63e576889..7c773474f9 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); } }))