Merge branch 'master' into push-input-through-postmessage

This commit is contained in:
kenduguay1 2025-02-28 14:45:20 -05:00 committed by GitHub
commit f4988328be
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
42 changed files with 8758 additions and 3372 deletions

3
src/web/App.mjs Executable file → Normal file
View file

@ -60,6 +60,7 @@ class App {
this.initialiseSplitter();
this.loadLocalStorage();
this.manager.options.applyPreferredColorScheme();
this.populateOperationsList();
this.manager.setup();
this.manager.output.saveBombe();
@ -536,6 +537,8 @@ class App {
// Read in theme from URI params
if (this.uriParams.theme) {
this.manager.options.changeTheme(Utils.escapeHtml(this.uriParams.theme));
} else {
this.manager.options.applyPreferredColorScheme();
}
window.dispatchEvent(this.manager.statechange);

8
src/web/waiters/OptionsWaiter.mjs Executable file → Normal file
View file

@ -163,6 +163,14 @@ class OptionsWaiter {
themeSelect.selectedIndex = themeSelect.querySelector(`option[value="${theme}"`).index;
}
/**
* Applies the user's preferred color scheme using the `prefers-color-scheme` media query.
*/
applyPreferredColorScheme() {
const prefersDarkScheme = window.matchMedia("(prefers-color-scheme: dark)").matches;
const theme = prefersDarkScheme ? "dark" : "classic";
this.changeTheme(theme);
}
/**
* Changes the console logging level.