0a63afb6aa
* feat(server): adding userId to req logs * feat(server): adding userId to gql logs * feat(fe2): adding userId to logger calls * feat(fe2): more userId logging additions * even more thorough logging in FE2 * more adjustments * add country to fe2 logs * added prop to help distinguish gql req time logs * get initial SSR req id in CSR logs * improved 'fetch failed' error * better rate limit error message * minor improvements
38 lines
995 B
Vue
38 lines
995 B
Vue
<!-- eslint-disable vue/no-v-html -->
|
|
<template>
|
|
<div id="speckle" class="bg-foundation-page text-foreground">
|
|
<NuxtLayout name="default">
|
|
<ErrorPageRenderer :error="error" />
|
|
</NuxtLayout>
|
|
<SingletonManagers />
|
|
</div>
|
|
</template>
|
|
<script setup lang="ts">
|
|
import type { NuxtError } from '#app'
|
|
import { useTheme } from '~/lib/core/composables/theme'
|
|
import { formatAppError } from '~/lib/core/helpers/observability'
|
|
|
|
/**
|
|
* Any errors thrown while rendering this page will cause Nuxt to revert to the default
|
|
* error page
|
|
*/
|
|
|
|
const props = defineProps<{
|
|
error: NuxtError
|
|
}>()
|
|
|
|
const { isDarkTheme } = useTheme()
|
|
const finalError = computed(() => formatAppError(props.error))
|
|
|
|
useHead({
|
|
title: computed(() => `${finalError.value.statusCode} - ${finalError.value.message}`),
|
|
bodyAttrs: {
|
|
class: 'simple-scrollbar bg-foundation-page text-foreground'
|
|
},
|
|
htmlAttrs: {
|
|
class: computed(() => (isDarkTheme.value ? `dark` : ``)),
|
|
lang: 'en'
|
|
}
|
|
})
|
|
</script>
|