Repository navigation
Expand file tree
/
Copy pathapp.vue
More file actions
61 lines (52 loc) · 2.04 KB
/
Copy pathapp.vue
File metadata and controls
61 lines (52 loc) · 2.04 KB
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<script setup lang="ts">
import { headerLinks } from './header-links';
const { seo } = useAppConfig();
const { data: navigation } = await useAsyncData('navigation', () => fetchContentNavigation());
provide('navigation', navigation);
useHead({
meta: [
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ name: 'theme-color', content: '#F2F2F2' },
],
link: [
{ rel: 'icon', href: '/favicon.ico', sizes: '48x48' },
{ rel: 'icon', href: '/zksync-icon_150.svg', sizes: 'any', type: 'image/svg+xml' },
{ rel: 'apple-touch-icon', href: '/apple-touch-icon.png' },
],
htmlAttrs: {
lang: 'en',
},
});
useSeoMeta({
titleTemplate: `%s - ${seo?.siteName}`,
ogSiteName: seo?.siteName,
ogUrl: 'https://docs.zksync.io',
ogImageAlt: 'Hyperscaling Ethereum with ZK tech.',
ogDescription:
'ZKsync Docs bring you all information you need about our protocol, APIs, SDKs, ZK Stack, and ZK chains. Start with our guides and tutorials, or go deep into our architecture and protocol specification.',
description:
'ZKsync Docs bring you all information you need about our protocol, APIs, SDKs, ZK Stack, and ZK chains. Start with our guides and tutorials, or go deep into our architecture and protocol specification.',
twitterDescription:
'ZKsync Docs bring you all information you need about our protocol, APIs, SDKs, ZK Stack, and ZK chains. Start with our guides and tutorials, or go deep into our architecture and protocol specification.',
twitterTitle: `%s`,
twitterCard: 'summary_large_image',
twitterSite: '@zksync',
twitterCreator: '@zkSyncDevs',
twitterImageAlt: 'Hyperscaling Ethereum with ZK tech.',
});
</script>
<template>
<div>
<NuxtPwaManifest />
<NuxtLoadingIndicator />
<!-- FIXME: Hack, we want to pass computed property while `useHeaderNav` expects an array -->
<HeaderComponent :links="computed(() => headerLinks()) as any" />
<UMain>
<NuxtLayout>
<NuxtPage />
</NuxtLayout>
</UMain>
<FooterComponent />
<UNotifications />
</div>
</template>