From cce40ab1d2ad8cc1b60fabb4cc8281ea0490a123 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Sun, 26 Dec 2021 01:59:17 +0100 Subject: feat: Set nativeTheme theme source on dark mode --- packages/main/src/index.ts | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'packages/main/src/index.ts') diff --git a/packages/main/src/index.ts b/packages/main/src/index.ts index a135902..6a8a74e 100644 --- a/packages/main/src/index.ts +++ b/packages/main/src/index.ts @@ -23,6 +23,7 @@ import { BrowserView, BrowserWindow, ipcMain, + nativeTheme, } from 'electron'; import { readFile, readFileSync } from 'fs'; import { autorun } from 'mobx'; @@ -36,7 +37,7 @@ import { import { browserViewBounds, MainToRendererIpcMessage, - paletteMode, + themeSource, RendererToMainIpcMessage, } from '@sophie/shared'; import { URL } from 'url'; @@ -104,6 +105,15 @@ let mainWindow: BrowserWindow | null = null; const store = createRootStore(); +autorun(() => { + nativeTheme.themeSource = store.config.themeSource; +}); + +store.setShouldUseDarkColors(nativeTheme.shouldUseDarkColors); +nativeTheme.on('updated', () => { + store.setShouldUseDarkColors(nativeTheme.shouldUseDarkColors); +}); + const rendererBaseUrl = getResourceUrl('../renderer/'); function shouldCancelMainWindowRequest(url: string, method: string): boolean { if (method !== 'GET') { @@ -191,8 +201,8 @@ function createWindow(): Promise { case RendererToMainIpcMessage.SetBrowserViewBounds: store.setBrowserViewBounds(browserViewBounds.parse(args[0])); break; - case RendererToMainIpcMessage.SetPaletteMode: - store.setPaletteMode(paletteMode.parse(args[0])) + case RendererToMainIpcMessage.SetThemeSource: + store.config.setThemeSource(themeSource.parse(args[0])) break; case RendererToMainIpcMessage.ReloadAllServices: readFile(serviceInjectPath, 'utf8', (err, data) => { -- cgit v1.2.3-70-g09d2