app.vue 943 Bytes
<script setup lang="ts">
const colorMode = useColorMode()
const { locale, t } = useAppI18n()

const color = computed(() => colorMode.value === 'dark' ? '#1b1718' : 'white')

useHead(() => ({
  meta: [
    { charset: 'utf-8' },
    { name: 'viewport', content: 'width=device-width, initial-scale=1' },
    { key: 'theme-color', name: 'theme-color', content: color.value }
  ],
  link: [
    { rel: 'icon', type: 'image/svg+xml', href: '/rps-robot-arm.svg' }
  ],
  htmlAttrs: {
    lang: locale.value
  }
}))

useSeoMeta({
  title: () => t('app.seo.title'),
  description: () => t('app.seo.description'),
  ogTitle: () => t('app.seo.title'),
  ogDescription: () => t('app.seo.description'),
  ogImage: 'https://ui.nuxt.com/assets/templates/nuxt/dashboard-light.png',
  twitterCard: 'summary_large_image'
})
</script>

<template>
  <UApp>
    <NuxtLoadingIndicator />

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