43 lines
956 B
Vue
43 lines
956 B
Vue
<script setup lang="ts">
|
|
const route = useRoute();
|
|
const { t } = useI18n();
|
|
const head = useLocaleHead({
|
|
lang: true,
|
|
dir: true,
|
|
seo: true
|
|
});
|
|
|
|
const title = computed(() =>
|
|
t('layouts.title', {
|
|
title: t((route.meta.title as string) || 'layouts.default_tile')
|
|
})
|
|
);
|
|
</script>
|
|
<template>
|
|
<Html
|
|
:lang="head?.htmlAttrs?.lang?.split('-')[0]"
|
|
:dir="head?.htmlAttrs?.dir"
|
|
>
|
|
<Head>
|
|
<Title>{{ title }}</Title>
|
|
<template v-for="link in head.link" :key="link.id">
|
|
<Link
|
|
:id="link.id"
|
|
:rel="link.rel"
|
|
:href="link.href"
|
|
:hreflang="link.hreflang"
|
|
/>
|
|
</template>
|
|
<template v-for="meta in head.meta" :key="meta.id">
|
|
<Meta :id="meta.id" :property="meta.property" :content="meta.content" />
|
|
</template>
|
|
</Head>
|
|
<Body>
|
|
<NuxtLoadingIndicator />
|
|
<NuxtLayout>
|
|
<NuxtPage />
|
|
</NuxtLayout>
|
|
</Body>
|
|
</Html>
|
|
</template>
|