conop-systems-website/app.vue
2024-02-10 16:10:44 +01:00

61 lines
No EOL
1.1 KiB
Vue

<script setup lang="ts">
const { locale, setLocale, t } = useI18n({ useScope: 'global' })
import { useRecaptchaProvider } from 'vue-recaptcha'
useRecaptchaProvider()
const currentLang = computed(() => {
return locale.value === 'de' ? 'de' : 'en'
})
const {
cookiesEnabledIds,
} = useCookieControl()
watch(
() => cookiesEnabledIds.value,
(current, previous) => {
if (
!previous?.includes('google-analytics') &&
current?.includes('google-analytics')
) {
window.location.reload()
}
},
{ deep: true },
)
const cookieLang = useCookie('i18n_redirected')
onMounted(() => {
if (cookieLang.value && cookieLang.value !== locale.value) {
setLocale(cookieLang.value)
}
})
</script>
<template>
<NuxtLayout>
<NuxtPage>
</NuxtPage>
<CookieControl :locale="currentLang">
<template #modal>
<h2>{{ t('cookies.title') }}</h2>
<p>{{ t('cookies.des') }}</p>
</template>
</CookieControl>
</NuxtLayout>
</template>
<style lang="scss">
.page-enter-active,
.page-leave-active {
transition: all 0.2s;
}
.page-enter-from,
.page-leave-to {
opacity: 0;
filter: blur(1rem);
}
</style>