From 002b11d54c7a9d5603db87a2289efcb76169769c Mon Sep 17 00:00:00 2001 From: shidorien Date: Sat, 23 Dec 2023 22:33:46 +0100 Subject: [PATCH] Refactor handleVersionClick function in SettingsPage component --- .../pages/settings-page.component.tsx | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/src/renderer/pages/settings-page.component.tsx b/src/renderer/pages/settings-page.component.tsx index 36d09afc..9f3ffdbe 100644 --- a/src/renderer/pages/settings-page.component.tsx +++ b/src/renderer/pages/settings-page.component.tsx @@ -144,12 +144,25 @@ export function SettingsPage() { }; const handleVersionClick = async () => { - setChanglogsLoading(() => true); - await autoUpdater.showChangelog(await lastValueFrom(autoUpdater.getAppVersion())) - .then(() => setIsChangelogAvailable(() => true)) - .catch(() => setIsChangelogAvailable(() => false)); - setChanglogsLoading(() => false); - } + let isChangelogResolved = false; + + const changelogPromise = autoUpdater.showChangelog(await lastValueFrom(autoUpdater.getAppVersion())) + .then(() => { + isChangelogResolved = true; + setIsChangelogAvailable(() => true); + }) + .catch(() => { + isChangelogResolved = true; + setIsChangelogAvailable(() => false); + }); + + setTimeout(() => { + setChanglogsLoading(() => !isChangelogResolved); + }, 100); + + await changelogPromise; + setChanglogsLoading(() => false); + }; const setDefaultInstallationFolder = () => { if (!progressBarService.require()) { @@ -440,7 +453,7 @@ export function SettingsPage() {
- +
@@ -462,7 +475,7 @@ export function SettingsPage() { - +