diff options
| author | Kuuuube <61125188+Kuuuube@users.noreply.github.com> | 2024-06-19 12:57:21 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-19 16:57:21 +0000 | 
| commit | d9521c58bf9b9fef0c8b1248bf6ce8c69351fc16 (patch) | |
| tree | d21a6833422d87f0c0e4b83d2dbbd1dae092dd24 /ext/js/display/display.js | |
| parent | 451bcab01fd591ec54b63af0fc7084dc9f37928b (diff) | |
Remove flickering on page loads, reduce flashbangs, fix settings and popup themes applying correctly (#1088)
* Pull theme from settings on page load
* Make dark mode default
* Fix flickering on load
* Invert shadow for auto shadow theme
* Revert "Make dark mode default"
This reverts commit 4cdfc39686a9faa3ce7a620be23025f97816f5f9.
* Improve page load times
* Fix flicker on load for popup preview without breaking theming when auto is selected
* Revert shadow invert
Diffstat (limited to 'ext/js/display/display.js')
| -rw-r--r-- | ext/js/display/display.js | 12 | 
1 files changed, 10 insertions, 2 deletions
diff --git a/ext/js/display/display.js b/ext/js/display/display.js index 386f456b..33ab44e4 100644 --- a/ext/js/display/display.js +++ b/ext/js/display/display.js @@ -1152,16 +1152,24 @@ export class Display extends EventDispatcher {      _setTheme(options) {          const {general} = options;          const {popupTheme} = general; +        /** @type {string} */ +        let pageType = this._pageType;          try {              // eslint-disable-next-line no-underscore-dangle -            const pageTheme = this._history._current.state?.pageTheme; +            const historyState = this._history._current.state; + +            const pageTheme = historyState?.pageTheme;              this._themeController.siteTheme = pageTheme ?? null; + +            if (historyState?.url?.includes('popup-preview.html')) { +                pageType = 'popupPreview'; +            }          } catch (e) {              log.error(e);          }          this._themeController.theme = popupTheme;          this._themeController.outerTheme = general.popupOuterTheme; -        this._themeController.siteOverride = this._pageType === 'search'; +        this._themeController.siteOverride = pageType === 'search' || pageType === 'popupPreview';          this._themeController.updateTheme();          this.setCustomCss(general.customPopupCss);      }  |