Add support for Window::theme on the web (#2687)

This commit is contained in:
Simon Hausmann
2023-02-20 08:51:21 +01:00
committed by GitHub
parent 0f89aac9f6
commit a31f71ee07
3 changed files with 16 additions and 2 deletions

View File

@@ -409,7 +409,20 @@ impl Window {
#[inline]
pub fn theme(&self) -> Option<Theme> {
None
web_sys::window()
.and_then(|window| {
window
.match_media("(prefers-color-scheme: dark)")
.ok()
.flatten()
})
.map(|media_query_list| {
if media_query_list.matches() {
Theme::Dark
} else {
Theme::Light
}
})
}
#[inline]