30 lines
748 B
Go
30 lines
748 B
Go
|
//go:build !ci && js && !wasm
|
||
|
// +build !ci,js,!wasm
|
||
|
|
||
|
package app
|
||
|
|
||
|
import (
|
||
|
"fyne.io/fyne/v2"
|
||
|
"fyne.io/fyne/v2/theme"
|
||
|
|
||
|
"github.com/gopherjs/gopherjs/js"
|
||
|
)
|
||
|
|
||
|
func defaultVariant() fyne.ThemeVariant {
|
||
|
if matchMedia := js.Global.Call("matchMedia", "(prefers-color-scheme: dark)"); matchMedia != js.Undefined {
|
||
|
if matches := matchMedia.Get("matches"); matches != js.Undefined && matches.Bool() {
|
||
|
return theme.VariantDark
|
||
|
}
|
||
|
return theme.VariantLight
|
||
|
}
|
||
|
return theme.VariantDark
|
||
|
}
|
||
|
|
||
|
func init() {
|
||
|
if matchMedia := js.Global.Call("matchMedia", "(prefers-color-scheme: dark)"); matchMedia != js.Undefined {
|
||
|
matchMedia.Call("addEventListener", "change", func(o *js.Object) {
|
||
|
fyne.CurrentApp().Settings().(*settings).setupTheme()
|
||
|
})
|
||
|
}
|
||
|
}
|