Capital/app.vue
2024-10-04 02:35:02 +08:00

49 lines
940 B
Vue

<template>
<v-app>
<nuxt-loading-indicator color="white" />
<nuxt-layout>
<nuxt-page />
</nuxt-layout>
</v-app>
</template>
<script setup lang="ts">
import { useTheme } from "vuetify"
import "@unocss/reset/tailwind.css"
const theme = useTheme()
const auth = useUserinfo()
const { locale } = useI18n()
watch(locale, (value) => {
useHead({
htmlAttrs: {
lang: value,
},
})
}, { deep: true, immediate: true })
onMounted(() => {
theme.global.name.value = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"
window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", event => {
theme.global.name.value = event.matches ? "dark" : "light"
})
auth.readProfiles()
})
</script>
<style>
.page-enter-active,
.page-leave-active {
transition: all 0.25s ease-in-out;
}
.page-enter-from,
.page-leave-to {
opacity: 0;
filter: blur(1rem);
}
</style>