automatically theme mode based on user preference

Related to #1901

Implemented automatic dark theme change based on user preference using the `prefers-color-scheme` media query.
This commit is contained in:
Vijay Soni 2024-10-07 01:28:46 +05:30
parent d635cca210
commit e484d426fe
2 changed files with 11 additions and 0 deletions

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.