diff --git a/src/renderer/pages/settings-page.component.tsx b/src/renderer/pages/settings-page.component.tsx index f90d7471..36d09afc 100644 --- a/src/renderer/pages/settings-page.component.tsx +++ b/src/renderer/pages/settings-page.component.tsx @@ -41,6 +41,7 @@ import { SteamIcon } from "renderer/components/svgs/icons/steam-icon.component"; import { OculusIcon } from "renderer/components/svgs/icons/oculus-icon.component"; import { BsDownloaderService } from "renderer/services/bs-version-download/bs-downloader.service"; import { AutoUpdaterService } from "renderer/services/auto-updater.service"; +import BeatWaitingImg from "../../../assets/images/apngs/beat-waiting.png"; export function SettingsPage() { @@ -91,11 +92,8 @@ export function SettingsPage() { const [hasDownloaderSession, setHasDownloaderSession] = useState(false); const appVersion = useObservable(ipcService.sendV2("current-version")); - const [isChangelogAvailable, setIsChangelogAvailable] = useState(undefined); - const checkChangelogAvailability = async () => { - const changelogAvailable = await autoUpdater.isChangelogAvailable(appVersion); - setIsChangelogAvailable(changelogAvailable); - }; + const [isChangelogAvailable, setIsChangelogAvailable] = useState(true); + const [changlogsLoading, setChanglogsLoading] = useState(false); useEffect(() => { loadInstallationFolder(); @@ -103,8 +101,7 @@ export function SettingsPage() { mapsManager.isDeepLinksEnabled().then(enabled => setMapDeepLinksEnabled(() => enabled)); playlistsManager.isDeepLinksEnabled().then(enabled => setPlaylistsDeepLinkEnabled(() => enabled)); modelsManager.isDeepLinksEnabled().then(enabled => setModelsDeepLinkEnabled(() => enabled)); - if (isChangelogAvailable) {autoUpdater.showChangelog(appVersion)}; - }, [isChangelogAvailable, appVersion]); + }, []); const allDeepLinkEnabled = mapDeepLinksEnabled && playlistsDeepLinkEnabled && modelsDeepLinkEnabled; @@ -147,11 +144,12 @@ export function SettingsPage() { }; const handleVersionClick = async () => { - await checkChangelogAvailability(); - if (isChangelogAvailable) { - autoUpdater.showChangelog(appVersion); - } - }; + setChanglogsLoading(() => true); + await autoUpdater.showChangelog(await lastValueFrom(autoUpdater.getAppVersion())) + .then(() => setIsChangelogAvailable(() => true)) + .catch(() => setIsChangelogAvailable(() => false)); + setChanglogsLoading(() => false); + } const setDefaultInstallationFolder = () => { if (!progressBarService.require()) { @@ -458,9 +456,12 @@ export function SettingsPage() { - - v{appVersion} + +
+ +
+