From a673c2b577a31437c91a0b498e69b0753d62aa58 Mon Sep 17 00:00:00 2001 From: Markus Hatvan Date: Sun, 10 Oct 2021 10:42:20 +0200 Subject: chore: convert index file to TS (#2049) --- src/electron/ipc-api/appIndicator.ts | 34 +++++++++++++++++++++++----------- src/electron/ipc-api/index.ts | 2 +- 2 files changed, 24 insertions(+), 12 deletions(-) (limited to 'src/electron') diff --git a/src/electron/ipc-api/appIndicator.ts b/src/electron/ipc-api/appIndicator.ts index a51ed8161..bd5f6a68f 100644 --- a/src/electron/ipc-api/appIndicator.ts +++ b/src/electron/ipc-api/appIndicator.ts @@ -1,4 +1,4 @@ -import { app, ipcMain } from 'electron'; +import { app, ipcMain, BrowserWindow, Tray } from 'electron'; import { join } from 'path'; import { autorun } from 'mobx'; import { isMac, isWindows, isLinux } from '../../environment'; @@ -21,29 +21,38 @@ function getAsset(type: 'tray' | 'taskbar', asset: string) { ); } -export default params => { +export default (params: { + mainWindow: BrowserWindow; + settings: any; + trayIcon: Tray; +}) => { autorun(() => { isTrayIconEnabled = params.settings.app.get('enableSystemTray'); if (!isTrayIconEnabled) { + // @ts-expect-error Property 'hide' does not exist on type 'Tray'. params.trayIcon.hide(); } else if (isTrayIconEnabled) { + // @ts-expect-error Property 'show' does not exist on type 'Tray'. params.trayIcon.show(); } }); ipcMain.on('updateAppIndicator', (_event, args) => { // Flash TaskBar for windows, bounce Dock on Mac - if (!(app as any).mainWindow.isFocused() && params.settings.app.get('notifyTaskBarOnMessage')) { - if (isWindows) { - (app as any).mainWindow.flashFrame(true); - (app as any).mainWindow.once('focus', () => - (app as any).mainWindow.flashFrame(false), - ); - } else if (isMac) { - app.dock.bounce('informational'); - } + if ( + !params.mainWindow.isFocused() && + params.settings.app.get('notifyTaskBarOnMessage') + ) { + if (isWindows) { + params.mainWindow.flashFrame(true); + params.mainWindow.once('focus', () => + params.mainWindow.flashFrame(false), + ); + } else if (isMac) { + app.dock.bounce('informational'); } + } // Update badge if (isMac && typeof args.indicator === 'string') { @@ -57,6 +66,7 @@ export default params => { if (isWindows) { if (typeof args.indicator === 'number' && args.indicator !== 0) { params.mainWindow.setOverlayIcon( + // @ts-expect-error Argument of type 'string' is not assignable to parameter of type 'NativeImage | null'. getAsset( 'taskbar', `${INDICATOR_TASKBAR}-${ @@ -67,6 +77,7 @@ export default params => { ); } else if (typeof args.indicator === 'string') { params.mainWindow.setOverlayIcon( + // @ts-expect-error Argument of type 'string' is not assignable to parameter of type 'NativeImage | null'. getAsset('taskbar', `${INDICATOR_TASKBAR}-alert`), '', ); @@ -76,6 +87,7 @@ export default params => { } // Update Tray + // @ts-expect-error Property 'setIndicator' does not exist on type 'Tray'. params.trayIcon.setIndicator(args.indicator); }); }; diff --git a/src/electron/ipc-api/index.ts b/src/electron/ipc-api/index.ts index f03f61517..1f69c04ee 100644 --- a/src/electron/ipc-api/index.ts +++ b/src/electron/ipc-api/index.ts @@ -12,7 +12,7 @@ import focusState from './focusState'; export default (params: { mainWindow: BrowserWindow; settings: any; - tray: Tray; + trayIcon: Tray; }) => { settings(params); sessionStorage(); -- cgit v1.2.3-54-g00ecf