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/pages/info-main.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/pages/info-main.js')
-rw-r--r-- | ext/js/pages/info-main.js | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/ext/js/pages/info-main.js b/ext/js/pages/info-main.js index 079a8c3a..08abc12b 100644 --- a/ext/js/pages/info-main.js +++ b/ext/js/pages/info-main.js @@ -117,6 +117,23 @@ async function showDictionaryInfo(api) { } await Application.main(true, async (application) => { + const settingsController = new SettingsController(application); + await settingsController.prepare(); + + /** @type {ThemeController} */ + const themeController = new ThemeController(document.documentElement); + themeController.prepare(); + const optionsFull = await application.api.optionsGetFull(); + const {profiles, profileCurrent} = optionsFull; + const primaryProfile = (profileCurrent >= 0 && profileCurrent < profiles.length) ? profiles[profileCurrent] : null; + if (primaryProfile !== null) { + themeController.theme = primaryProfile.options.general.popupTheme; + themeController.siteOverride = true; + themeController.updateTheme(); + } + + document.body.hidden = false; + const documentFocusController = new DocumentFocusController(); documentFocusController.prepare(); @@ -152,21 +169,6 @@ await Application.main(true, async (application) => { void showAnkiConnectInfo(application.api); void showDictionaryInfo(application.api); - const settingsController = new SettingsController(application); - await settingsController.prepare(); - - /** @type {ThemeController} */ - const themeController = new ThemeController(document.documentElement); - themeController.prepare(); - const optionsFull = await application.api.optionsGetFull(); - const {profiles, profileCurrent} = optionsFull; - const primaryProfile = (profileCurrent >= 0 && profileCurrent < profiles.length) ? profiles[profileCurrent] : null; - if (primaryProfile !== null) { - themeController.theme = primaryProfile.options.general.popupTheme; - themeController.siteOverride = true; - themeController.updateTheme(); - } - const backupController = new BackupController(settingsController, null); await backupController.prepare(); |