diff --git a/src/App.vue b/src/App.vue index bcfc5dc..d8c5c37 100644 --- a/src/App.vue +++ b/src/App.vue @@ -4,8 +4,17 @@ import TitleBar from "./components/titlebar-element.vue"; import BottomNavbar from "./components/bottom-navbar.vue"; import DateSelector from "./components/date-selector.vue"; import LoadingElement from "./components/loading-element.vue"; -import { loading } from "./store"; -import { computed } from "vue"; +import { loading, theme } from "./store"; +import { computed, ref } from "vue"; + +const autoThemes = { true: "dark", false: "light" }; +const autoTheme = ref("dark"); +const colorSchemeMedia = window.matchMedia("(prefers-color-scheme: dark)"); +autoTheme.value = autoThemes[colorSchemeMedia.matches]; +colorSchemeMedia.addEventListener( + "change", + (e) => (autoTheme.value = autoThemes[e.matches]) +); const route = useRoute(); const routeName = computed(() => route.name); @@ -17,7 +26,10 @@ const isDataView = computed(() => {