<script setup lang="ts">
// Site-wide SEO. @nuxtjs/i18n (useLocaleHead) owns <html lang>/dir, hreflang
// alternates, canonical and og:url / og:locale per locale. useSeoMeta adds the
// content cards (title/description/image, Twitter), locale-aware. Pages still
// override their own title/description via useHead.
const { locale } = useI18n()
const i18nHead = useLocaleHead()
const site = (useRuntimeConfig().public.siteUrl as string).replace(/\/$/, '')

const seo = computed(() => locale.value === 'da'
  ? {
      title: 'dezky — din digitale arbejdsplads, hostet i EU',
      desc: 'Mail, filer, video, chat og login — samlet i én suite, hostet i EU og bygget på åbne standarder.',
      img: `${site}/og-image-da.png`,
    }
  : {
      title: 'dezky — your digital workplace, hosted in the EU',
      desc: 'Mail, files, video, chat and sign-in — one suite, hosted in the EU and built on open standards.',
      img: `${site}/og-image.png`,
    })

// html lang/dir + hreflang + canonical + og:url/og:locale from the i18n module.
useHead(() => ({
  htmlAttrs: i18nHead.value.htmlAttrs,
  link: i18nHead.value.link,
  meta: i18nHead.value.meta,
}))

useSeoMeta({
  description: () => seo.value.desc,
  ogType: 'website',
  ogSiteName: 'dezky',
  ogTitle: () => seo.value.title,
  ogDescription: () => seo.value.desc,
  ogImage: () => [{ url: seo.value.img, width: 1200, height: 630, type: 'image/png' }],
  twitterCard: 'summary_large_image',
  twitterTitle: () => seo.value.title,
  twitterDescription: () => seo.value.desc,
  twitterImage: () => seo.value.img,
})

useHead({ meta: [{ name: 'robots', content: 'index, follow' }] })
</script>

<template>
  <NuxtLayout>
    <NuxtPage />
  </NuxtLayout>
</template>
