diff options
Diffstat (limited to 'ext/js/app/theme-controller.js')
| -rw-r--r-- | ext/js/app/theme-controller.js | 14 | 
1 files changed, 8 insertions, 6 deletions
diff --git a/ext/js/app/theme-controller.js b/ext/js/app/theme-controller.js index c12f1113..44ff723b 100644 --- a/ext/js/app/theme-controller.js +++ b/ext/js/app/theme-controller.js @@ -27,14 +27,16 @@ export class ThemeController {      constructor(element) {          /** @type {?HTMLElement} */          this._element = element; -        /** @type {'light'|'dark'|'browser'} */ -        this._theme = 'light';          /** @type {'light'|'dark'|'browser'|'site'} */ -        this._outerTheme = 'light'; +        this._theme = 'site'; +        /** @type {'light'|'dark'|'browser'|'site'} */ +        this._outerTheme = 'site';          /** @type {?('dark'|'light')} */          this._siteTheme = null;          /** @type {'dark'|'light'} */          this._browserTheme = 'light'; +        /** @type {boolean} */ +        this.siteOverride = false;      }      /** @@ -55,7 +57,7 @@ export class ThemeController {      /**       * Gets the main theme for the content. -     * @type {'light'|'dark'|'browser'} +     * @type {'light'|'dark'|'browser'|'site'}       */      get theme() {          return this._theme; @@ -63,7 +65,7 @@ export class ThemeController {      /**       * Sets the main theme for the content. -     * @param {'light'|'dark'|'browser'} value The theme value to assign. +     * @param {'light'|'dark'|'browser'|'site'} value The theme value to assign.       */      set theme(value) {          this._theme = value; @@ -171,7 +173,7 @@ export class ThemeController {       */      _resolveThemeValue(theme, computedSiteTheme) {          switch (theme) { -            case 'site': return computedSiteTheme; +            case 'site': return this.siteOverride ? this._browserTheme : computedSiteTheme;              case 'browser': return this._browserTheme;              default: return theme;          }  |