1
0
mirror of https://github.com/taigrr/homer synced 2025-01-18 04:53:12 -08:00
homer/src/components/DarkMode.vue

35 lines
738 B
Vue

<template>
<a
v-on:click="toggleTheme()"
aria-label="Toggle dark mode"
class="navbar-item is-inline-block-mobile"
>
<i class="fas fa-fw fa-adjust"></i>
</a>
</template>
<script>
export default {
name: "Darkmode",
props: {
isDark: Boolean,
},
created: function () {
let isDark =
"overrideDark" in localStorage
? JSON.parse(localStorage.overrideDark)
: this.isDark === null
? matchMedia("(prefers-color-scheme: dark)").matches
: this.isDark;
this.$emit("updated", isDark);
},
methods: {
toggleTheme: function () {
let isDark = !this.isDark;
localStorage.overrideDark = isDark;
this.$emit("updated", isDark);
},
},
};
</script>