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
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
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]