diff options
Diffstat (limited to 'ext/mixed/js/display.js')
| -rw-r--r-- | ext/mixed/js/display.js | 16 | 
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; } |