aboutsummaryrefslogtreecommitdiff
path: root/ext/js/pages/info-main.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/info-main.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/info-main.js')
-rw-r--r--ext/js/pages/info-main.js32
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();