diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 00000000..b009dfb9 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +lts/* diff --git a/dev/src/views/Theme.js b/dev/src/views/Theme.js index 21164382..493d27fa 100644 --- a/dev/src/views/Theme.js +++ b/dev/src/views/Theme.js @@ -27,9 +27,15 @@ export default class Theme extends EventDispatcher { this.el = el; this.urlTemplate = "./assets/themes/%name%.css"; this.targetNode = this._node = null; - this._dark = false; this._initUI(); - this.dark = !!app.prefs.read("dark"); + let dark = app.prefs.read("dark"); + if (dark !== undefined) { + this.dark = !!dark; + } else if (window.matchMedia) { + this.dark = window.matchMedia("(prefers-color-scheme: dark)").matches; + } else { + this.dark = false; + } } set dark(val) { @@ -40,7 +46,7 @@ export default class Theme extends EventDispatcher { $.toggleClass(this.themeBtn, "selected", val); app.prefs.write("dark", val); } - + get dark() { return this._dark; } @@ -71,4 +77,4 @@ export default class Theme extends EventDispatcher { this.dark = !this.dark; } -} \ No newline at end of file +}