Add setting to disable auto update

This commit is contained in:
jeffvli 2023-03-31 05:42:48 -07:00
parent 6ccef6e515
commit 293d8ec584
5 changed files with 53 additions and 5 deletions

View File

@ -295,9 +295,10 @@ const createWindow = async () => {
return { action: 'deny' };
});
// Remove this if your app does not use auto updates
// eslint-disable-next-line
new AppUpdater();
if (store.get('disable_auto_updates') !== true) {
// eslint-disable-next-line
new AppUpdater();
}
};
app.commandLine.appendSwitch('disable-features', 'HardwareMediaKeyHandling,MediaSessionService');

View File

@ -0,0 +1,41 @@
import isElectron from 'is-electron';
import { useWindowSettings, useSettingsStoreActions } from '../../../../store/settings.store';
import {
SettingsSection,
SettingOption,
} from '/@/renderer/features/settings/components/settings-section';
import { Switch } from '/@/renderer/components';
const localSettings = isElectron() ? window.electron.localSettings : null;
export const UpdateSettings = () => {
const settings = useWindowSettings();
const { setSettings } = useSettingsStoreActions();
const updateOptions: SettingOption[] = [
{
control: (
<Switch
aria-label="Disable automatic updates"
defaultChecked={settings.disableAutoUpdate}
disabled={!isElectron()}
onChange={(e) => {
if (!e) return;
localSettings?.set('disable_auto_updates', e.currentTarget.checked);
setSettings({
window: {
...settings,
disableAutoUpdate: e.currentTarget.checked,
},
});
}}
/>
),
description: 'Enabling this option will disable checking for new versions on startup',
isHidden: !isElectron(),
title: 'Disable automatic updates',
},
];
return <SettingsSection options={updateOptions} />;
};

View File

@ -1,10 +1,13 @@
import { Stack } from '@mantine/core';
import { WindowSettings } from './window-settings';
import { Divider, Stack } from '@mantine/core';
import { UpdateSettings } from '/@/renderer/features/settings/components/window/update-settings';
import { WindowSettings } from '/@/renderer/features/settings/components/window/window-settings';
export const WindowTab = () => {
return (
<Stack spacing="md">
<WindowSettings />
<Divider />
<UpdateSettings />
</Stack>
);
};

View File

@ -6,3 +6,4 @@ export * from './playlist.store';
export * from './album-list-data.store';
export * from './album-artist-list-data.store';
export * from './full-screen-player.store';
export * from './settings.store';

View File

@ -71,6 +71,7 @@ export interface SettingsState {
songs: DataTableProps;
};
window: {
disableAutoUpdate: boolean;
exitToTray: boolean;
minimizeToTray: boolean;
windowBarStyle: Platform;
@ -245,6 +246,7 @@ export const useSettingsStore = create<SettingsSlice>()(
},
},
window: {
disableAutoUpdate: true,
exitToTray: false,
minimizeToTray: false,
windowBarStyle: Platform.WEB,