From 4cd25caca86ff41b43a79c9675461cf0f806de2f Mon Sep 17 00:00:00 2001 From: Sebastian Malton Date: Mon, 21 Jun 2021 08:37:05 -0400 Subject: [PATCH] Switch sync buttons on windows (#3110) Signed-off-by: Sebastian Malton --- .../+preferences/kubeconfig-syncs.tsx | 46 +++++++++++++++---- 1 file changed, 37 insertions(+), 9 deletions(-) diff --git a/src/renderer/components/+preferences/kubeconfig-syncs.tsx b/src/renderer/components/+preferences/kubeconfig-syncs.tsx index 152fad13ba..c1e049cbde 100644 --- a/src/renderer/components/+preferences/kubeconfig-syncs.tsx +++ b/src/renderer/components/+preferences/kubeconfig-syncs.tsx @@ -32,6 +32,7 @@ import { SubTitle } from "../layout/sub-title"; import { Spinner } from "../spinner"; import logger from "../../../main/logger"; import { iter } from "../../utils"; +import { isWindows } from "../../../common/vars"; interface SyncInfo { type: "file" | "folder" | "unknown"; @@ -69,6 +70,8 @@ async function getMapEntry({ filePath, ...data}: KubeconfigSyncEntry): Promise<[ } } +type SelectPathOptions = ("openFile" | "openDirectory")[]; + @observer export class KubeconfigSyncs extends React.Component { syncs = observable.map(); @@ -106,11 +109,11 @@ export class KubeconfigSyncs extends React.Component { } @action - openFileDialog = async () => { + async openDialog(message: string, actions: SelectPathOptions) { const { dialog, BrowserWindow } = remote; const { canceled, filePaths } = await dialog.showOpenDialog(BrowserWindow.getFocusedWindow(), { - properties: ["openFile", "showHiddenFiles", "multiSelections", "openDirectory"], - message: "Select kubeconfig file(s) and folder(s)", + properties: ["showHiddenFiles", "multiSelections", ...actions], + message, buttonLabel: "Sync", }); @@ -123,7 +126,7 @@ export class KubeconfigSyncs extends React.Component { for (const [filePath, info] of newEntries) { this.syncs.set(filePath, info); } - }; + } renderEntryIcon(entry: Entry) { switch (entry.info.type) { @@ -181,16 +184,41 @@ export class KubeconfigSyncs extends React.Component { ); } + renderSyncButtons() { + if (isWindows) { + return ( +
+
+ ); + } + + return ( +