mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-19 02:36:00 +00:00
53 lines
1.3 KiB
TypeScript
53 lines
1.3 KiB
TypeScript
import invalidateCommands from '../commands/invalidateCommands';
|
|
import { appUpdaterActive, appUpdateStatus } from '../stores';
|
|
import getElectron from './getElectron';
|
|
import { showSnackbar } from './snackbar';
|
|
|
|
export function initializeAppUpdates() {
|
|
const electron = getElectron();
|
|
if (!electron) {
|
|
return;
|
|
}
|
|
|
|
electron.addEventListener('update-available', (e, version) => {
|
|
showSnackbar({
|
|
message: `Update available: ${version}`,
|
|
allowClose: true,
|
|
buttons: [
|
|
{
|
|
label: 'Download',
|
|
onClick: () => {
|
|
electron.send('downloadUpdate');
|
|
},
|
|
autoClose: true,
|
|
},
|
|
],
|
|
});
|
|
});
|
|
|
|
electron.addEventListener('app-update-status', (e, value) => {
|
|
appUpdateStatus.set(value);
|
|
});
|
|
|
|
electron.addEventListener('downloaded-new-version', (e, version) => {
|
|
showSnackbar({
|
|
message: `New version ${version} downloaded. Update will be installed after app restart.`,
|
|
allowClose: true,
|
|
buttons: [
|
|
{
|
|
label: 'Restart DbGate',
|
|
onClick: () => {
|
|
electron.send('applyUpdate');
|
|
},
|
|
autoClose: true,
|
|
},
|
|
],
|
|
});
|
|
});
|
|
|
|
electron.addEventListener('setAppUpdaterActive', (e, error) => {
|
|
appUpdaterActive.set(true);
|
|
invalidateCommands();
|
|
});
|
|
}
|