diff --git a/src/renderer/pages/settings-page.component.tsx b/src/renderer/pages/settings-page.component.tsx index f813fd9a..87746481 100644 --- a/src/renderer/pages/settings-page.component.tsx +++ b/src/renderer/pages/settings-page.component.tsx @@ -40,9 +40,11 @@ import { BsStore } from "shared/models/bs-store.enum"; 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"; + export function SettingsPage() { - + const configService = useService(ConfigurationService); const themeService = useService(ThemeService); const ipcService = useService(IpcService); @@ -58,6 +60,7 @@ export function SettingsPage() { const playlistsManager = useService(PlaylistsManagerService); const modelsManager = useService(ModelsManagerService); const versionLinker = useService(VersionFolderLinkerService); + const autoUpdater = useService(AutoUpdaterService); const { firstColor, secondColor } = useThemeColor(); @@ -88,13 +91,20 @@ 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); + }; + useEffect(() => { loadInstallationFolder(); loadDownloadersSession(); 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; @@ -136,6 +146,10 @@ export function SettingsPage() { i18nService.setLanguage(item.value); }; + const handleVersionClick = async () => { + await checkChangelogAvailability(); + }; + const setDefaultInstallationFolder = () => { if (!progressBarService.require()) { return; @@ -231,7 +245,7 @@ export function SettingsPage() { - + }, @@ -239,7 +253,7 @@ export function SettingsPage() { { id: 0, text: t("pages.settings.steam-and-oculus.download-platform.always-ask"), value: undefined, }, ]} selectedItemValue={downloadStore} onItemSelected={handleChangeBsStore}/> - + @@ -441,9 +455,10 @@ export function SettingsPage() { - - v{appVersion} - + + v{appVersion} + +