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 Kirill Chibisov
parent 0be08e574d
commit 644c47a6f8
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]