]> git.immae.eu Git - github/bastienwirtz/homer.git/commitdiff
Toggle dark mode when `prefers-color-scheme` changes
authorGabe Cook <gabe565@gmail.com>
Wed, 10 May 2023 07:38:51 +0000 (02:38 -0500)
committerBastien Wirtz <bastien.wirtz@gmail.com>
Sat, 13 May 2023 13:19:54 +0000 (15:19 +0200)
src/components/DarkMode.vue

index 4318c228bbf0a940d27a104f09b83bcf04129d3c..f0f823db198977917425fe7685e05e66201d5479 100644 (file)
@@ -47,6 +47,7 @@ export default {
     }
     this.isDark = this.getIsDark();
     this.$emit("updated", this.isDark);
+    this.watchIsDark();
   },
   methods: {
     toggleTheme: function () {
@@ -81,6 +82,13 @@ export default {
       ];
       return values[this.mode];
     },
+
+    watchIsDark: function () {
+      matchMedia("(prefers-color-scheme: dark)").addEventListener("change", () => {
+        this.isDark = this.getIsDark();
+        this.$emit("updated", this.isDark);
+      });
+    },
   },
 };
 </script>