error.vue 813 B

12345678910111213141516171819202122232425262728
  1. <script setup>
  2. const props = defineProps({
  3. error: Object,
  4. })
  5. const message = computed(() => String(props.error?.message || ''))
  6. const is404 = computed(() => props.error?.statusCode === 404 || message.value?.includes('404'))
  7. const isDev = process.dev
  8. function handleError() {
  9. return clearError({ redirect: '/' })
  10. }
  11. </script>
  12. <template>
  13. <div flex="~ col" h-screen text-center items-center justify-center gap4>
  14. <div text-3xl>
  15. {{ is404 ? 'This page could not be found' : 'An error occurred' }}
  16. </div>
  17. <div text-xl op50>
  18. Looks like you've followed a broken link or entered a URL that doesn't exist on this site.
  19. </div>
  20. <!-- <pre v-if="isDev">{{ error }}</pre> -->
  21. <button n-link border px4 py1 rounded @click="handleError">
  22. Go Back
  23. </button>
  24. </div>
  25. </template>