diff --git a/ext/css/popup-outer.css b/ext/css/popup-outer.css index b27e81b153..29fcd3f474 100644 --- a/ext/css/popup-outer.css +++ b/ext/css/popup-outer.css @@ -35,6 +35,9 @@ iframe.yomitan-popup[data-theme=dark] { iframe.yomitan-popup[data-outer-theme=dark] { box-shadow: 0 0 10em rgba(255, 255, 255, 0.5); } +iframe.yomitan-popup[data-outer-theme=none] { + box-shadow: none; +} iframe.yomitan-popup[data-popup-display-mode=full-width] { border-left: none; border-right: none; diff --git a/ext/data/schemas/options-schema.json b/ext/data/schemas/options-schema.json index 6c5975b8c6..66befefe3d 100644 --- a/ext/data/schemas/options-schema.json +++ b/ext/data/schemas/options-schema.json @@ -251,7 +251,7 @@ }, "popupOuterTheme": { "type": "string", - "enum": ["light", "dark", "browser", "site"], + "enum": ["light", "dark", "browser", "site", "none"], "default": "site" }, "customPopupCss": { diff --git a/ext/js/app/theme-controller.js b/ext/js/app/theme-controller.js index 44ff723b55..711ddfdb6c 100644 --- a/ext/js/app/theme-controller.js +++ b/ext/js/app/theme-controller.js @@ -27,9 +27,9 @@ export class ThemeController { constructor(element) { /** @type {?HTMLElement} */ this._element = element; - /** @type {'light'|'dark'|'browser'|'site'} */ + /** @type {import("settings.js").PopupTheme} */ this._theme = 'site'; - /** @type {'light'|'dark'|'browser'|'site'} */ + /** @type {import("settings.js").PopupOuterTheme} */ this._outerTheme = 'site'; /** @type {?('dark'|'light')} */ this._siteTheme = null; @@ -57,7 +57,7 @@ export class ThemeController { /** * Gets the main theme for the content. - * @type {'light'|'dark'|'browser'|'site'} + * @type {import("settings.js").PopupTheme} */ get theme() { return this._theme; @@ -65,7 +65,7 @@ export class ThemeController { /** * Sets the main theme for the content. - * @param {'light'|'dark'|'browser'|'site'} value The theme value to assign. + * @param {import("settings.js").PopupTheme} value The theme value to assign. */ set theme(value) { this._theme = value; @@ -73,7 +73,7 @@ export class ThemeController { /** * Gets the outer theme for the content. - * @type {'light'|'dark'|'browser'|'site'} + * @type {import("settings.js").PopupOuterTheme} */ get outerTheme() { return this._outerTheme; @@ -81,7 +81,7 @@ export class ThemeController { /** * Sets the outer theme for the content. - * @param {'light'|'dark'|'browser'|'site'} value The outer theme value to assign. + * @param {import("settings.js").PopupOuterTheme} value The outer theme value to assign. */ set outerTheme(value) { this._outerTheme = value; diff --git a/ext/settings.html b/ext/settings.html index 3df2e1b235..dc751d9292 100644 --- a/ext/settings.html +++ b/ext/settings.html @@ -764,6 +764,7 @@