Files

49 lines
1.2 KiB
Vue

<template>
<UApp :locale="locales[locale]">
<NuxtLoadingIndicator />
<NuxtLayout>
<NuxtPage />
</NuxtLayout>
<ServerConnectionOverlay />
</UApp>
</template>
<script setup lang="ts">
import * as locales from '@nuxt/ui/locale'
const { locale } = useI18n()
const colorMode = useColorMode()
const color = computed(() => (colorMode.value === 'dark' ? '#111827' : 'white'))
const lang = computed(() => locales[locale.value].code)
const dir = computed(() => locales[locale.value].dir)
useHead({
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ key: 'theme-color', name: 'theme-color', content: color }
],
link: [{ rel: 'icon', href: '/favicon.svg', type: 'image/svg+xml' }],
htmlAttrs: {
lang,
dir
}
})
const title = 'LegalConsentHub'
const description = 'Das Tool für die Einführung von mitbestimmungspflichtigen digitalen Lösungen.'
useSeoMeta({
title,
description,
ogTitle: title,
ogDescription: description,
ogImage: 'https://dashboard-template.nuxt.dev/social-card.png',
twitterImage: 'https://dashboard-template.nuxt.dev/social-card.png',
twitterCard: 'summary_large_image'
})
</script>