feat: use nuxts built in error page instead of a catch all page (#675)

* feat: use nuxts built in error page instead of a catch all page

* fix: require error prop in error.vue and remove optional chaining for more reliable error handling
This commit is contained in:
Tonya
2025-05-08 08:16:51 +00:00
committed by GitHub
parent 588074f50a
commit 0cd1b46ecb
3 changed files with 23 additions and 23 deletions

23
frontend/error.vue Normal file
View File

@@ -0,0 +1,23 @@
<script setup lang="ts">
import type { NuxtError } from "#app";
import { buttonVariants } from "@/components/ui/button";
const props = defineProps({
error: {
type: Object as () => NuxtError,
required: true,
},
});
console.log(props.error);
</script>
<template>
<main class="grid min-h-screen w-full place-items-center">
<h1 class="flex flex-col gap-5 text-center font-extrabold">
<span class="text-7xl">{{ error.statusCode }}.</span>
<span class="text-5xl"> {{ error.message }} </span>
<NuxtLink to="/" :class="buttonVariants({ size: 'lg' })"> Return Home </NuxtLink>
</h1>
</main>
</template>

View File

@@ -1,5 +0,0 @@
<template>
<main class="grid min-h-screen w-full place-items-center">
<slot></slot>
</main>
</template>

View File

@@ -1,18 +0,0 @@
<script setup lang="ts">
import { buttonVariants } from "@/components/ui/button";
useHead({
title: "404. Not Found",
});
definePageMeta({
layout: "404",
});
</script>
<template>
<h1 class="flex flex-col gap-5 text-center font-extrabold">
<span class="text-7xl">404.</span>
<span class="text-5xl"> Page Not Found </span>
<NuxtLink to="/" :class="buttonVariants({ size: 'lg' })"> Return Home </NuxtLink>
</h1>
</template>