app.vue
943 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<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>