summaryrefslogtreecommitdiff
path: root/ext/mixed/js
diff options
context:
space:
mode:
authortoasted-nutbread <toasted-nutbread@users.noreply.github.com>2019-10-12 17:12:34 -0400
committertoasted-nutbread <toasted-nutbread@users.noreply.github.com>2019-10-12 19:00:24 -0400
commit883226b0451350a0c01841e6c9a192bbb76dd8b6 (patch)
treedfd63e4b2464a0d3eee533c3eac9be31c80de55b /ext/mixed/js
parentc90bc75eb89f5a731f6e3366f6388b594a27b2aa (diff)
Update how custom CSS is applied
Diffstat (limited to 'ext/mixed/js')
-rw-r--r--ext/mixed/js/display.js16
1 files changed, 16 insertions, 0 deletions
diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js
index 2bf917aa..51a3dc22 100644
--- a/ext/mixed/js/display.js
+++ b/ext/mixed/js/display.js
@@ -29,6 +29,7 @@ class Display {
this.audioPlaying = null;
this.audioFallback = null;
this.audioCache = {};
+ this.styleNode = null;
this.eventListeners = [];
this.persistentEventListeners = [];
@@ -195,6 +196,7 @@ class Display {
async updateOptions(options) {
this.options = options ? options : await apiOptionsGet(this.getOptionsContext());
this.updateTheme(this.options.general.popupTheme);
+ this.setCustomCss(this.options.general.customPopupCss);
}
updateTheme(themeName) {
@@ -207,6 +209,20 @@ class Display {
}
}
+ setCustomCss(css) {
+ if (this.styleNode === null) {
+ if (css.length === 0) { return; }
+ this.styleNode = document.createElement('style');
+ }
+
+ this.styleNode.textContent = css;
+
+ const parent = document.head;
+ if (this.styleNode.parentNode !== parent) {
+ parent.appendChild(this.styleNode);
+ }
+ }
+
setInteractive(interactive) {
interactive = !!interactive;
if (this.interactive === interactive) { return; }