You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
808 B
37 lines
808 B
<template> |
|
<NuxtLayout> |
|
<NuxtPage /> |
|
</NuxtLayout> |
|
<Toast /> |
|
</template> |
|
|
|
<script setup lang="ts"> |
|
import { useRouter } from "vue-router"; |
|
import { useStateStore } from "@/stores/stateStore"; |
|
|
|
const router = useRouter(); |
|
const store = useStateStore(); |
|
|
|
// Set dark theme |
|
store.applyColorMode(); |
|
|
|
useHead({ |
|
link: [ |
|
{ rel: "icon", type: "image/x-icon", href: getPublicPath("/favicon.ico") }, |
|
], |
|
titleTemplate: (titleChunk: string | undefined): string | null => { |
|
return titleChunk ? `${titleChunk} - website-vue` : 'website-vue'; |
|
} |
|
}) |
|
|
|
// Init Bootstrap after navigation |
|
router.afterEach((_to, _from) => { |
|
setTimeout(() => { store.initBootstrap(); }, 500); |
|
}); |
|
|
|
// Init Bootstrap on initial page load, after the DOM is ready |
|
onMounted(() => { |
|
// @ts-ignore |
|
store.initBootstrap(); |
|
}); |
|
</script>
|
|
|