This commit is contained in:
64
app/app.vue
Normal file
64
app/app.vue
Normal file
@@ -0,0 +1,64 @@
|
||||
<script setup lang="ts">
|
||||
const colorMode = useColorMode()
|
||||
|
||||
const color = computed(() => colorMode.value === 'dark' ? '#020618' : 'white')
|
||||
|
||||
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.ico' }
|
||||
],
|
||||
htmlAttrs: {
|
||||
lang: 'en'
|
||||
}
|
||||
})
|
||||
|
||||
useSeoMeta({
|
||||
titleTemplate: '%s',
|
||||
ogImage: 'https://i.postimg.cc/ydfWjvKB/nick-kalar-main.png',
|
||||
twitterImage: 'https://i.postimg.cc/ydfWjvKB/nick-kalar-main.png',
|
||||
twitterCard: 'summary_large_image'
|
||||
})
|
||||
|
||||
const [{ data: navigation }, { data: files }] = await Promise.all([
|
||||
useAsyncData('navigation', () => {
|
||||
return Promise.all([
|
||||
queryCollectionNavigation('blog')
|
||||
])
|
||||
}, {
|
||||
transform: data => data.flat()
|
||||
}),
|
||||
useLazyAsyncData('search', () => {
|
||||
return Promise.all([
|
||||
queryCollectionSearchSections('blog')
|
||||
])
|
||||
}, {
|
||||
server: false,
|
||||
transform: data => data.flat()
|
||||
})
|
||||
])
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<UApp>
|
||||
<NuxtLayout>
|
||||
<UMain class="relative">
|
||||
<NuxtPage />
|
||||
</UMain>
|
||||
</NuxtLayout>
|
||||
|
||||
<ClientOnly>
|
||||
<LazyUContentSearch
|
||||
:files="files"
|
||||
:navigation="navigation"
|
||||
shortcut="meta_k"
|
||||
:links="navLinks"
|
||||
:fuse="{ resultLimit: 42 }"
|
||||
/>
|
||||
</ClientOnly>
|
||||
</UApp>
|
||||
</template>
|
||||
Reference in New Issue
Block a user