diff --git a/app/common/dnd-util.ts b/app/common/dnd-util.ts index 26527933..afae0f1c 100644 --- a/app/common/dnd-util.ts +++ b/app/common/dnd-util.ts @@ -3,14 +3,14 @@ import * as ConfigUtil from "./config-util"; type SettingName = "showNotification" | "silent" | "flashTaskbarOnMessage"; export interface DNDSettings { - showNotification?: boolean; - silent?: boolean; - flashTaskbarOnMessage?: boolean; + showNotification: boolean; + silent: boolean; + flashTaskbarOnMessage: boolean; } interface Toggle { dnd: boolean; - newSettings: DNDSettings; + newSettings: Partial; } export function toggle(): Toggle { @@ -20,9 +20,9 @@ export function toggle(): Toggle { dndSettingList.push("flashTaskbarOnMessage"); } - let newSettings: DNDSettings; + let newSettings: Partial; if (dnd) { - const oldSettings: DNDSettings = {}; + const oldSettings: Partial = {}; newSettings = {}; // Iterate through the dndSettingList. diff --git a/app/common/typed-ipc.ts b/app/common/typed-ipc.ts index 33d8097f..5da11e8b 100644 --- a/app/common/typed-ipc.ts +++ b/app/common/typed-ipc.ts @@ -73,7 +73,7 @@ export interface RendererMessage { autoHideMenubar: boolean, updateMenu: boolean, ) => void; - "toggle-dnd": (state: boolean, newSettings: DNDSettings) => void; + "toggle-dnd": (state: boolean, newSettings: Partial) => void; "toggle-menubar-setting": (state: boolean) => void; "toggle-sidebar": (show: boolean) => void; "toggle-sidebar-setting": (state: boolean) => void; diff --git a/app/renderer/js/main.ts b/app/renderer/js/main.ts index f4b29ff2..1ec24039 100644 --- a/app/renderer/js/main.ts +++ b/app/renderer/js/main.ts @@ -46,12 +46,12 @@ interface SettingsOptions extends DNDSettings { customCSS: boolean; lastActiveTab: number; dnd: boolean; - dndPreviousSettings: DNDSettings; + dndPreviousSettings: Partial; downloadsPath: string; quitOnClose: boolean; promptDownload: boolean; - dockBouncing?: boolean; - spellcheckerLanguages?: string[]; + dockBouncing: boolean; + spellcheckerLanguages: string[]; } type WebviewListener = @@ -194,7 +194,7 @@ class ServerManagerView { // This will make sure the default settings are correctly set to either true or false initDefaultSettings(): void { // Default settings which should be respected - const settingOptions: SettingsOptions = { + const settingOptions: Partial = { autoHideMenubar: false, trayIcon: true, useManualProxy: false, @@ -226,7 +226,7 @@ class ServerManagerView { if (process.platform === "win32") { // Only available on Windows settingOptions.flashTaskbarOnMessage = true; - settingOptions.dndPreviousSettings.flashTaskbarOnMessage = true; + settingOptions.dndPreviousSettings!.flashTaskbarOnMessage = true; } if (process.platform === "darwin") { @@ -1074,7 +1074,7 @@ class ServerManagerView { ipcRenderer.on( "toggle-dnd", - (event: Event, state: boolean, newSettings: DNDSettings) => { + (event: Event, state: boolean, newSettings: Partial) => { this.toggleDNDButton(state); ipcRenderer.send( "forward-message", diff --git a/app/renderer/js/pages/preference/preference.ts b/app/renderer/js/pages/preference/preference.ts index 69458feb..955e6e7d 100644 --- a/app/renderer/js/pages/preference/preference.ts +++ b/app/renderer/js/pages/preference/preference.ts @@ -92,7 +92,7 @@ export function initPreferenceView(): void { ipcRenderer.on( "toggle-dnd", - (_event: Event, _state: boolean, newSettings: DNDSettings) => { + (_event: Event, _state: boolean, newSettings: Partial) => { handleToggle("show-notification-option", newSettings.showNotification); handleToggle("silent-option", newSettings.silent);