diff options
Diffstat (limited to 'src/webview/recipe.js')
-rw-r--r-- | src/webview/recipe.js | 28 |
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 */ | ||
1 | import { ipcRenderer } from 'electron'; | 2 | import { ipcRenderer } from 'electron'; |
2 | import path from 'path'; | 3 | import path from 'path'; |
3 | import { autorun, computed, observable } from 'mobx'; | 4 | import { autorun, computed, observable } from 'mobx'; |
4 | import fs from 'fs-extra'; | 5 | import fs from 'fs-extra'; |
5 | import { loadModule } from 'cld3-asm'; | 6 | import { loadModule } from 'cld3-asm'; |
6 | import { debounce } from 'lodash'; | 7 | import { 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 | ||
13 | window.chrome.runtime.sendMessage = () => {}; | ||
7 | import { | 14 | import { |
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 | ||