aboutsummaryrefslogtreecommitdiffstats
path: root/src/webview/darkmode.js
diff options
context:
space:
mode:
authorLibravatar Stefan Malzner <stefan@adlk.io>2018-11-22 11:36:11 +0100
committerLibravatar Stefan Malzner <stefan@adlk.io>2018-11-22 11:36:11 +0100
commitfd7954fef99d59ca0aa9f2b468afea3463ef2202 (patch)
treedd83cc2efd0e8ec54679b4db80ed1b5dd086feb6 /src/webview/darkmode.js
parentFix isFullScreen typo (diff)
downloadferdium-app-fd7954fef99d59ca0aa9f2b468afea3463ef2202.tar.gz
ferdium-app-fd7954fef99d59ca0aa9f2b468afea3463ef2202.tar.zst
ferdium-app-fd7954fef99d59ca0aa9f2b468afea3463ef2202.zip
feat(App): Add option to enable dark mode for supported services
Diffstat (limited to 'src/webview/darkmode.js')
-rw-r--r--src/webview/darkmode.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/webview/darkmode.js b/src/webview/darkmode.js
new file mode 100644
index 000000000..9830ef33c
--- /dev/null
+++ b/src/webview/darkmode.js
@@ -0,0 +1,28 @@
1import path from 'path';
2import fs from 'fs-extra';
3
4const ID = 'franz-theme-dark-mode';
5
6export function injectDarkModeStyle(recipePath) {
7 const darkModeStyle = path.join(recipePath, 'darkmode.css');
8 if (fs.pathExistsSync(darkModeStyle)) {
9 const data = fs.readFileSync(darkModeStyle);
10 const styles = document.createElement('style');
11 styles.id = ID;
12 styles.innerHTML = data.toString();
13
14 document.querySelector('head').appendChild(styles);
15 }
16}
17
18export function removeDarkModeStyle() {
19 const style = document.querySelector(`#${ID}`);
20
21 if (style) {
22 style.remove();
23 }
24}
25
26export function isDarkModeStyleInjected() {
27 return !!document.querySelector(`#${ID}`);
28}