diff --git a/electron/main/update.ts b/electron/main/update.ts index d080ff1..e2386dd 100644 --- a/electron/main/update.ts +++ b/electron/main/update.ts @@ -52,7 +52,6 @@ export function update(win: Electron.BrowserWindow) { } ) }) - // Install now ipcMain.handle('quit-and-install', () => { autoUpdater.quitAndInstall(false, true) diff --git a/src/components/update/Progress/index.tsx b/src/components/update/Progress/index.tsx index 06d5ed0..f7c9525 100644 --- a/src/components/update/Progress/index.tsx +++ b/src/components/update/Progress/index.tsx @@ -11,10 +11,10 @@ const Progress: React.FC
- {percent}% + {(percent ?? 0).toString().substring(0,4)}% ) } diff --git a/src/components/update/Progress/progress.module.scss b/src/components/update/Progress/progress.module.scss index 1a66779..182d9af 100644 --- a/src/components/update/Progress/progress.module.scss +++ b/src/components/update/Progress/progress.module.scss @@ -7,6 +7,7 @@ border: 1px solid #000; border-radius: 3px; height: 6px; + width: 100px; } .progress-rate { diff --git a/src/components/update/index.tsx b/src/components/update/index.tsx index 796ccaf..b4448cd 100644 --- a/src/components/update/index.tsx +++ b/src/components/update/index.tsx @@ -28,14 +28,12 @@ const Update = () => { * @type {import('electron-updater').UpdateCheckResult | null | { message: string, error: Error }} */ const result = await ipcRenderer.invoke('check-update') + setProgressInfo({ percent: 0 }) setChecking(false) - + setModalOpen(true) if (result?.error) { - console.error(result.error) setUpdateAvailable(false) - } else { - setUpdateAvailable(true) - setModalOpen(true) + setUpdateError(result?.error) } } @@ -50,20 +48,27 @@ const Update = () => { onCancel: () => setModalOpen(false), onOk: () => ipcRenderer.invoke('start-download'), })) + setUpdateAvailable(true) + } else { + setUpdateAvailable(false) + setUpdateError(undefined) } }, []) const onUpdateError = useCallback((_event: Electron.IpcRendererEvent, arg1: ErrorType) => { - console.error(arg1.error) + console.error('arg1.error',arg1.error) + setUpdateAvailable(false) setUpdateError(arg1) }, []) const onDownloadProgress = useCallback((_event: Electron.IpcRendererEvent, arg1: ProgressInfo) => { console.log(arg1) + setUpdateAvailable(true) setProgressInfo(arg1) }, []) const onUpdateDownloaded = useCallback((_event: Electron.IpcRendererEvent, ...args: any[]) => { + setProgressInfo({ percent: 100 }) setModalBtn(state => ({ ...state, cancelText: 'Later', @@ -87,6 +92,8 @@ const Update = () => { } }, []) + const isUpdate = updateAvailable && versionInfo + return ( <> { okText={modalBtn?.okText} onCancel={modalBtn?.onCancel} onOk={modalBtn?.onOk} - footer={!versionInfo?.update ? /* hide footer */null : undefined} + footer={isUpdate ? /* hide footer */null : undefined} >
- {updateError ? ( -
-

Error downloading the latest version.

-

{updateError.message}

-
- ) : null} - {!updateAvailable ? ( -
- Check update is Error, Please check your Network! -
- ) : null} - {versionInfo - ? ( -
-
The last version is: v{versionInfo.newVersion}
-
v{versionInfo.version} -> v{versionInfo.newVersion}
-
-
Update progress:
-
- + { + isUpdate + ? ( +
+
The last version is: v{versionInfo.newVersion}
+
v{versionInfo.version} -> v{versionInfo.newVersion}
+
+
Update progress:
+
+ +
-
- ) - : Checking...} + ) + : updateError + ? ( +
+

Error downloading the latest version.

+

{updateError.message}

+
+ ) : ( +
+
The last version is: v{versionInfo?.version}
+
+ ) + }