aboutsummaryrefslogtreecommitdiffstats
path: root/src/webview/recipe.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/webview/recipe.js')
-rw-r--r--src/webview/recipe.js28
1 files changed, 23 insertions, 5 deletions
diff --git a/src/webview/recipe.js b/src/webview/recipe.js
index 1e290f8be..e95cae18b 100644
--- a/src/webview/recipe.js
+++ b/src/webview/recipe.js
@@ -1,9 +1,16 @@
1/* eslint-disable import/first */
1import { ipcRenderer } from 'electron'; 2import { ipcRenderer } from 'electron';
2import path from 'path'; 3import path from 'path';
3import { autorun, computed, observable } from 'mobx'; 4import { autorun, computed, observable } from 'mobx';
4import fs from 'fs-extra'; 5import fs from 'fs-extra';
5import { loadModule } from 'cld3-asm'; 6import { loadModule } from 'cld3-asm';
6import { debounce } from 'lodash'; 7import { debounce } from 'lodash';
8
9// For some services darkreader tries to use the chrome extension message API
10// This will cause the service to fail loading
11// As the message API is not actually needed, we'll add this shim sendMessage
12// function in order for darkreader to continue working
13window.chrome.runtime.sendMessage = () => {};
7import { 14import {
8 enable as enableDarkMode, 15 enable as enableDarkMode,
9 disable as disableDarkMode, 16 disable as disableDarkMode,
@@ -120,8 +127,13 @@ class RecipeController {
120 } 127 }
121 } 128 }
122 129
123 console.log('Set theme to: ', this.settings.service.isDarkModeEnabled ? 'Dark' : 'Light'); 130 console.log(
124 if (this.settings.service.isDarkModeEnabled) { 131 'Darkmode enabled?',
132 this.settings.service.isDarkModeEnabled,
133 'Dark theme active?',
134 this.settings.app.isDarkThemeActive,
135 );
136 if (this.settings.service.isDarkModeEnabled && this.settings.app.isDarkThemeActive !== false) {
125 debug('Enable dark mode'); 137 debug('Enable dark mode');
126 138
127 // Check if recipe has a darkmode.css 139 // Check if recipe has a darkmode.css
@@ -162,9 +174,15 @@ class RecipeController {
162 } 174 }
163 175
164 // Remove dark reader if (universal) dark mode was just disabled 176 // Remove dark reader if (universal) dark mode was just disabled
165 if (this.universalDarkModeInjected && (!this.settings.service.isDarkModeEnabled || !this.settings.app.universalDarkMode)) { 177 if (this.universalDarkModeInjected) {
166 disableDarkMode(); 178 if (
167 this.universalDarkModeInjected = false; 179 !this.settings.app.darkMode
180 || !this.settings.service.isDarkModeEnabled
181 || !this.settings.app.universalDarkMode
182 ) {
183 disableDarkMode();
184 this.universalDarkModeInjected = false;
185 }
168 } 186 }
169 } 187 }
170 188