aboutsummaryrefslogtreecommitdiffstats
path: root/packages/main/src/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/main/src/index.ts')
-rw-r--r--packages/main/src/index.ts16
1 files changed, 13 insertions, 3 deletions
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 {
23 BrowserView, 23 BrowserView,
24 BrowserWindow, 24 BrowserWindow,
25 ipcMain, 25 ipcMain,
26 nativeTheme,
26} from 'electron'; 27} from 'electron';
27import { readFile, readFileSync } from 'fs'; 28import { readFile, readFileSync } from 'fs';
28import { autorun } from 'mobx'; 29import { autorun } from 'mobx';
@@ -36,7 +37,7 @@ import {
36import { 37import {
37 browserViewBounds, 38 browserViewBounds,
38 MainToRendererIpcMessage, 39 MainToRendererIpcMessage,
39 paletteMode, 40 themeSource,
40 RendererToMainIpcMessage, 41 RendererToMainIpcMessage,
41} from '@sophie/shared'; 42} from '@sophie/shared';
42import { URL } from 'url'; 43import { URL } from 'url';
@@ -104,6 +105,15 @@ let mainWindow: BrowserWindow | null = null;
104 105
105const store = createRootStore(); 106const store = createRootStore();
106 107
108autorun(() => {
109 nativeTheme.themeSource = store.config.themeSource;
110});
111
112store.setShouldUseDarkColors(nativeTheme.shouldUseDarkColors);
113nativeTheme.on('updated', () => {
114 store.setShouldUseDarkColors(nativeTheme.shouldUseDarkColors);
115});
116
107const rendererBaseUrl = getResourceUrl('../renderer/'); 117const rendererBaseUrl = getResourceUrl('../renderer/');
108function shouldCancelMainWindowRequest(url: string, method: string): boolean { 118function shouldCancelMainWindowRequest(url: string, method: string): boolean {
109 if (method !== 'GET') { 119 if (method !== 'GET') {
@@ -191,8 +201,8 @@ function createWindow(): Promise<unknown> {
191 case RendererToMainIpcMessage.SetBrowserViewBounds: 201 case RendererToMainIpcMessage.SetBrowserViewBounds:
192 store.setBrowserViewBounds(browserViewBounds.parse(args[0])); 202 store.setBrowserViewBounds(browserViewBounds.parse(args[0]));
193 break; 203 break;
194 case RendererToMainIpcMessage.SetPaletteMode: 204 case RendererToMainIpcMessage.SetThemeSource:
195 store.setPaletteMode(paletteMode.parse(args[0])) 205 store.config.setThemeSource(themeSource.parse(args[0]))
196 break; 206 break;
197 case RendererToMainIpcMessage.ReloadAllServices: 207 case RendererToMainIpcMessage.ReloadAllServices:
198 readFile(serviceInjectPath, 'utf8', (err, data) => { 208 readFile(serviceInjectPath, 'utf8', (err, data) => {