aboutsummaryrefslogtreecommitdiff
path: root/ext/js/pages/generic-page-main.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/js/pages/generic-page-main.js')
-rw-r--r--ext/js/pages/generic-page-main.js25
1 files changed, 20 insertions, 5 deletions
diff --git a/ext/js/pages/generic-page-main.js b/ext/js/pages/generic-page-main.js
index 3d5356ba..5f82257e 100644
--- a/ext/js/pages/generic-page-main.js
+++ b/ext/js/pages/generic-page-main.js
@@ -16,11 +16,28 @@
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
+import {ThemeController} from '../app/theme-controller.js';
+import {Application} from '../application.js';
import {DocumentFocusController} from '../dom/document-focus-controller.js';
import {ExtensionContentController} from './common/extension-content-controller.js';
+import {SettingsController} from './settings/settings-controller.js';
+
+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;
-/** Entry point. */
-function main() {
const documentFocusController = new DocumentFocusController();
documentFocusController.prepare();
@@ -28,6 +45,4 @@ function main() {
extensionContentController.prepare();
document.documentElement.dataset.loaded = 'true';
-}
-
-main();
+});