dml_frontend/app.vue
2025-06-03 09:18:45 +02:00

43 lines
941 B
Vue

<template>
<NuxtLayout>
<NuxtPage />
</NuxtLayout>
</template>
<script setup>
import { onMounted, onBeforeUnmount } from 'vue'
import { useMainStore } from '@/stores/main'
import { useRouter } from 'vue-router'
const mainStore = useMainStore()
const router = useRouter()
router.beforeEach((to, from, next) => {
mainStore.setDarkHeroBack(false)
next()
})
// Scroll- und Resize-Listener in den Lifecycle-Hooks registrieren
onMounted(() => {
window.addEventListener('scroll', handleScroll)
window.addEventListener('resize', handleResize)
// Bildschirmbreite direkt beim Start setzen:
handleResize()
})
onBeforeUnmount(() => {
window.removeEventListener('scroll', handleScroll)
window.removeEventListener('resize', handleResize)
})
// Event-Handler
const handleScroll = () => {
mainStore.setScrollPosition(window.scrollY)
}
const handleResize = () => {
mainStore.setScreenWidth(window.innerWidth)
}
</script>