diff --git a/src/renderer/components/modal/modal-types/chabgelog-modal/changelog-modal.component.tsx b/src/renderer/components/modal/modal-types/chabgelog-modal/changelog-modal.component.tsx index 2c791930..644a54e0 100644 --- a/src/renderer/components/modal/modal-types/chabgelog-modal/changelog-modal.component.tsx +++ b/src/renderer/components/modal/modal-types/chabgelog-modal/changelog-modal.component.tsx @@ -1,6 +1,7 @@ import { BsmButton } from "renderer/components/shared/bsm-button.component"; import { ChangelogVersion } from "renderer/services/auto-updater.service"; import { LinkOpenerService } from "renderer/services/link-opener.service"; +import { useService } from "renderer/hooks/use-service.hook"; import { ModalComponent } from "renderer/services/modale.service"; import DOMPurify from 'dompurify'; import './changelog-modal.component.css'; @@ -8,7 +9,7 @@ import Tippy from "@tippyjs/react"; export const ChangelogModal: ModalComponent = ({ resolver, data: changelog }) => { - const linkOpener: LinkOpenerService = LinkOpenerService.getInstance(); + const linkOpener = useService(LinkOpenerService); const openGithub = () => linkOpener.open("https://github.com/Zagrios/bs-manager"); const openTwitter = () => linkOpener.open("https://twitter.com/BSManager_"); const openSupportPage = () => linkOpener.open("https://www.patreon.com/bsmanager"); @@ -27,16 +28,16 @@ export const ChangelogModal: ModalComponent = ({ resolve
-
+
-
+
-
+
-
+
diff --git a/src/renderer/components/shared/bsm-button.component.tsx b/src/renderer/components/shared/bsm-button.component.tsx index 3b80202d..9e051db7 100644 --- a/src/renderer/components/shared/bsm-button.component.tsx +++ b/src/renderer/components/shared/bsm-button.component.tsx @@ -66,10 +66,6 @@ export function BsmButton({ className, style, imgClassName, iconClassName, icon, if (typeColor === "success") { return "bg-green-500"; } - if (typeColor === "none") - { - return ""; - } return ""; })(); diff --git a/src/renderer/pages/settings-page.component.tsx b/src/renderer/pages/settings-page.component.tsx index 11786f30..fbcd03f3 100644 --- a/src/renderer/pages/settings-page.component.tsx +++ b/src/renderer/pages/settings-page.component.tsx @@ -149,13 +149,12 @@ export function SettingsPage() { const changelogPromise = autoUpdater.showChangelog(await lastValueFrom(autoUpdater.getAppVersion())) .then(() => { - isChangelogResolved = true; setIsChangelogAvailable(() => true); }) .catch(() => { - isChangelogResolved = true; setIsChangelogAvailable(() => false); - }); + }) + .finally(() => { isChangelogResolved = true; }); setTimeout(() => { setChanglogsLoading(() => !isChangelogResolved); @@ -471,13 +470,12 @@ export function SettingsPage() { -
+
- ); diff --git a/src/renderer/services/auto-updater.service.ts b/src/renderer/services/auto-updater.service.ts index 0dd629e4..07d70fbc 100644 --- a/src/renderer/services/auto-updater.service.ts +++ b/src/renderer/services/auto-updater.service.ts @@ -71,7 +71,6 @@ export class AutoUpdaterService { } private async getChangelog(): Promise { - try { if (this.cacheChangelog) { return this.cacheChangelog; } @@ -79,28 +78,20 @@ export class AutoUpdaterService { const path = `https://raw.githubusercontent.com/Zagrios/bs-manager/feature/add-changelog-modal/178/assets/jsons/changelogs.json` const response = await fetch(path); if (!response.ok) { - return undefined; + throw new Error(`Failed to fetch changelogs (${response.status})`); } const data = await response.json(); if (!data) { - return undefined; + throw new Error(`Failed to parse changelogs`); } this.cacheChangelog = data; return data; } - catch(error){ - this.ipcService.sendLazy("log-error", {args: error}); - return undefined; - } - } private async getChangelogVersion(version:string): Promise { const changelogs = await this.getChangelog(); - if (!changelogs) { - throw new Error(`No changelogs found`); - } const changelogVersion = changelogs[version]; if (!changelogVersion) { @@ -119,4 +110,9 @@ export class AutoUpdaterService { this.modal.openModal(ChangelogModal, changelog); } + + lastValueFrom(autoUpdater.getAppVersion()).then(appVersion => { + const lastAppVersion = autoUpdater.getLastAppVersion(); + if (!lastAppVersion) { return;} + if(lte(appVersion,lastAppVersion)){ return; } } diff --git a/src/renderer/windows/App.tsx b/src/renderer/windows/App.tsx index 11324fa5..26e0c85a 100644 --- a/src/renderer/windows/App.tsx +++ b/src/renderer/windows/App.tsx @@ -40,10 +40,7 @@ export default function App() { useEffect(() => { - lastValueFrom(autoUpdater.getAppVersion()).then(appVersion => { - const lastAppVersion = autoUpdater.getLastAppVersion(); - if (!lastAppVersion) { return;} - if(lte(appVersion,lastAppVersion)){ return; } + autoUpdater.showChangelog(appVersion); });