From e2edc828c2cbfe9accc03e9724a1e60cd0d5504c Mon Sep 17 00:00:00 2001 From: Ayman Bagabas Date: Thu, 23 Sep 2021 15:25:20 -0400 Subject: [PATCH 1/2] Add .nvmrc with latest LTS --- .nvmrc | 1 + 1 file changed, 1 insertion(+) create mode 100644 .nvmrc diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 00000000..b009dfb9 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +lts/* From f78c5690b34eb01038ba3802d51c236d0d30cf2a Mon Sep 17 00:00:00 2001 From: Ayman Bagabas Date: Thu, 23 Sep 2021 15:25:50 -0400 Subject: [PATCH 2/2] Support detecting OS dark mode using prefers-color-scheme --- dev/src/views/Theme.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) 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 +}