diff --git a/app/src/electron.js b/app/src/electron.js index d158c54c4..2849b25ef 100644 --- a/app/src/electron.js +++ b/app/src/electron.js @@ -458,19 +458,25 @@ function createWindow() { }); } -function changeAppUpdateStatus(message) { - appUpdateStatus = message; +function changeAppUpdateStatus(status) { + appUpdateStatus = status; mainWindow.webContents.send('app-update-status', appUpdateStatus); } autoUpdater.on('checking-for-update', () => { console.log('Checking for updates'); - changeAppUpdateStatus('Checking for updates...'); + changeAppUpdateStatus({ + icon: 'icon loading', + message: 'Checking for updates...', + }); }); autoUpdater.on('update-available', info => { console.log('Update available', info); - changeAppUpdateStatus(`New version ${info.version} available`); + changeAppUpdateStatus({ + icon: 'icon download', + message: `New version ${info.version} available`, + }); if (!autoUpdater.autoDownload) { mainWindow.webContents.send('update-available', info.version); } @@ -478,17 +484,26 @@ autoUpdater.on('update-available', info => { autoUpdater.on('update-not-available', info => { console.log('Update not available', info); - changeAppUpdateStatus(`No new updates`); + changeAppUpdateStatus({ + icon: 'icon check', + message: `No new updates`, + }); }); autoUpdater.on('update-downloaded', info => { console.log('Update downloaded from', info); - changeAppUpdateStatus(`Downloaded new version ${info.version}`); + changeAppUpdateStatus({ + icon: 'icon download', + message: `Downloaded new version ${info.version}`, + }); mainWindow.webContents.send('downloaded-new-version', info.version); }); autoUpdater.on('error', error => { - changeAppUpdateStatus(`Autoupdate error`); + changeAppUpdateStatus({ + icon: 'icon error', + message: `Autoupdate error`, + }); console.error('Update error', error); }); diff --git a/packages/web/src/icons/FontIcon.svelte b/packages/web/src/icons/FontIcon.svelte index 4296d82f4..143235dde 100644 --- a/packages/web/src/icons/FontIcon.svelte +++ b/packages/web/src/icons/FontIcon.svelte @@ -140,6 +140,7 @@ 'icon custom-join': 'mdi mdi-arrow-left-right-bold', 'icon parent-filter': 'mdi mdi-home-alert', 'icon parent-filter-outline': 'mdi mdi-home-alert-outline', + 'icon download': 'mdi mdi-download', 'icon run': 'mdi mdi-play', 'icon chevron-down': 'mdi mdi-chevron-down', diff --git a/packages/web/src/stores.ts b/packages/web/src/stores.ts index 27e3d6fe4..f68403d7a 100644 --- a/packages/web/src/stores.ts +++ b/packages/web/src/stores.ts @@ -123,7 +123,7 @@ export const commandsCustomized = derived([commands, commandsSettings], ([$comma ...$commandsSettings[k], })) ); -export const appUpdateStatus = writable(''); +export const appUpdateStatus = writable(null); export const appUpdaterActive = writable(false); export const draggingTab = writable(null); @@ -310,4 +310,4 @@ let appUpdaterActiveValue = false; appUpdaterActive.subscribe(value => { appUpdaterActiveValue = value; }); -export const getAppUpdaterActive = () => appUpdaterActiveValue; \ No newline at end of file +export const getAppUpdaterActive = () => appUpdaterActiveValue; diff --git a/packages/web/src/utility/appUpdate.ts b/packages/web/src/utility/appUpdate.ts index a5ad236f9..07e9034b8 100644 --- a/packages/web/src/utility/appUpdate.ts +++ b/packages/web/src/utility/appUpdate.ts @@ -25,8 +25,8 @@ export function initializeAppUpdates() { }); }); - electron.addEventListener('app-update-status', (e, text) => { - appUpdateStatus.set(text); + electron.addEventListener('app-update-status', (e, value) => { + appUpdateStatus.set(value); }); electron.addEventListener('downloaded-new-version', (e, version) => { diff --git a/packages/web/src/widgets/StatusBar.svelte b/packages/web/src/widgets/StatusBar.svelte index 4cd8ddaae..bca1b8c93 100644 --- a/packages/web/src/widgets/StatusBar.svelte +++ b/packages/web/src/widgets/StatusBar.svelte @@ -173,7 +173,8 @@ {#if $appUpdateStatus}
- {$appUpdateStatus} + + {$appUpdateStatus.message}
{/if}