forked from matter-labs/zksync-docs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patherror.vue
More file actions
114 lines (103 loc) · 3.02 KB
/
error.vue
File metadata and controls
114 lines (103 loc) · 3.02 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<script setup lang="ts">
import type { NuxtError } from '#app';
useSeoMeta({
title: 'Page not found',
description: 'We are sorry but this page could not be found.',
});
defineProps({
error: {
type: Object as PropType<NuxtError>,
required: true,
},
});
useHead({
htmlAttrs: {
lang: 'en',
},
});
const { data: navigation } = await useAsyncData('navigation', () => fetchContentNavigation());
provide('navigation', navigation);
const cards = [
{
title: 'Quickstart',
description: 'Get started building applications on ZKsync with our quickstart guide.',
to: '/zksync-network/guides/quick-start',
icon: 'i-heroicons-code-bracket-16-solid',
},
{
title: 'ZK Stack',
description: 'Learn how to run your own ZKsync chain with our chain operator quickstart guide.',
to: '/zk-stack/running/quickstart',
icon: 'i-heroicons-square-3-stack-3d-16-solid',
},
{
title: 'ZKsync Airbender',
description: 'Explore the fastest RISC-V prover powering the next-generation of ZKsync chains.',
to: '/zk-stack/components/zksync-airbender',
icon: 'i-heroicons-rocket-launch-solid',
},
{
title: 'Step-by-step Tutorials',
description: 'Follow along with step-by-step tutorials made by the ZKsync community.',
to: 'https://code.zksync.io/',
icon: 'i-heroicons-beaker-solid',
},
];
</script>
<template>
<div>
<HeaderComponent />
<UMain>
<UContainer>
<UPage>
<div
v-if="error.statusCode == 404"
class="flex min-h-screen items-center"
>
<UContainer>
<div class="space-y-3 text-center">
<UBadge
color="gray"
variant="subtle"
>{{ error.statusCode }} • Page not found</UBadge
>
<h1 class="text-4xl font-bold tracking-tight sm:text-5xl">Lost in the docs?</h1>
<p class="text-gray-500">
We couldn’t find the page you were looking for. Try one of these helpful links.
</p>
</div>
<UPageGrid class="my-8 lg:!grid-cols-2 xl:!grid-cols-2 2xl:!grid-cols-2">
<ULandingCard
v-for="(c, i) in cards"
:key="i"
v-bind="c"
>
<template #icon>
<UIcon
:name="c.icon"
class="text-primary h-6 w-6"
/>
</template>
</ULandingCard>
</UPageGrid>
<div class="text-center">
<UButton
label="Return to Home"
variant="outline"
size="lg"
to="/"
/>
</div>
</UContainer>
</div>
<UPageError
v-else
:error="error"
/>
</UPage>
</UContainer>
</UMain>
<FooterComponent />
<UNotifications />
</div>
</template>