The name and tagline live in one place, shared/utils/site.ts, and feed the header, the footer, the home page and the title template.
28 lines
605 B
Vue
28 lines
605 B
Vue
<script setup lang="ts">
|
|
import type { NuxtError } from '#app'
|
|
|
|
const props = defineProps<{ error: NuxtError }>()
|
|
|
|
const isNotFound = computed(() => props.error.statusCode === 404)
|
|
|
|
useSeoMeta({ robots: 'noindex' })
|
|
</script>
|
|
|
|
<template>
|
|
<NuxtLayout>
|
|
<h1>{{ isNotFound ? 'Page not found' : 'Something went wrong' }}</h1>
|
|
|
|
<p class="muted">
|
|
{{
|
|
isNotFound
|
|
? 'The page you are looking for does not exist or has moved.'
|
|
: 'Please try again in a moment.'
|
|
}}
|
|
</p>
|
|
|
|
<p>
|
|
<NuxtLink to="/">Back to home</NuxtLink>
|
|
</p>
|
|
</NuxtLayout>
|
|
</template>
|