summaryrefslogtreecommitdiff
path: root/ext/js/pages/settings/settings-display-controller.js
diff options
context:
space:
mode:
authorKuuuube <61125188+Kuuuube@users.noreply.github.com>2024-06-19 12:57:21 -0400
committerGitHub <noreply@github.com>2024-06-19 16:57:21 +0000
commitd9521c58bf9b9fef0c8b1248bf6ce8c69351fc16 (patch)
treed21a6833422d87f0c0e4b83d2dbbd1dae092dd24 /ext/js/pages/settings/settings-display-controller.js
parent451bcab01fd591ec54b63af0fc7084dc9f37928b (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/pages/settings/settings-display-controller.js')
-rw-r--r--ext/js/pages/settings/settings-display-controller.js11
1 files changed, 9 insertions, 2 deletions
diff --git a/ext/js/pages/settings/settings-display-controller.js b/ext/js/pages/settings/settings-display-controller.js
index e179b835..a2150a15 100644
--- a/ext/js/pages/settings/settings-display-controller.js
+++ b/ext/js/pages/settings/settings-display-controller.js
@@ -47,9 +47,9 @@ export class SettingsDisplayController {
}
/** */
- prepare() {
+ async prepare() {
this._themeController.prepare();
- void this._updateTheme();
+ await this._setTheme();
const onFabButtonClick = this._onFabButtonClick.bind(this);
for (const fabButton of /** @type {NodeListOf<HTMLElement>} */ (document.querySelectorAll('.fab-button'))) {
@@ -99,6 +99,13 @@ export class SettingsDisplayController {
}
/** */
+ async _setTheme() {
+ this._themeController.theme = (await this._settingsController.getOptions()).general.popupTheme;
+ this._themeController.siteOverride = true;
+ this._themeController.updateTheme();
+ }
+
+ /** */
async _updateTheme() {
const theme = this._themeDropdown?.value;
if (theme === 'site' || theme === 'light' || theme === 'dark' || theme === 'browser') {