diff options
Diffstat (limited to 'ext/mixed/js/display.js')
| -rw-r--r-- | ext/mixed/js/display.js | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js index cd9f41bd..2bf917aa 100644 --- a/ext/mixed/js/display.js +++ b/ext/mixed/js/display.js @@ -194,6 +194,17 @@ class Display {      async updateOptions(options) {          this.options = options ? options : await apiOptionsGet(this.getOptionsContext()); +        this.updateTheme(this.options.general.popupTheme); +    } + +    updateTheme(themeName) { +        document.documentElement.dataset.yomichanTheme = themeName; + +        const stylesheets = document.querySelectorAll('link[data-yomichan-theme-name]'); +        for (const stylesheet of stylesheets) { +            const match = (stylesheet.dataset.yomichanThemeName === themeName); +            stylesheet.rel = (match ? 'stylesheet' : 'stylesheet alternate'); +        }      }      setInteractive(interactive) {  |