[web] use built-in error views #154
No files matched your search
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"@luzzle/web": patch
|
||||
---
|
||||
|
||||
Use built-in error views while custom error pages are deferred. Remove legacy
|
||||
Svelte error-view selection and pass only status/message props to stock views.
|
||||
@@ -1,8 +1,7 @@
|
||||
<script lang="ts">
|
||||
import type { Page404Props } from '$lib/content/types.js'
|
||||
import ContentBanner from './ContentBanner.svelte'
|
||||
|
||||
let { message, components }: Page404Props = $props()
|
||||
const { ContentBanner } = components
|
||||
let { message }: { message?: string } = $props()
|
||||
</script>
|
||||
|
||||
<ContentBanner showHome={true} />
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<script lang="ts">
|
||||
import type { PageErrorProps } from '$lib/content/types.js'
|
||||
import ContentBanner from './ContentBanner.svelte'
|
||||
|
||||
let { status, message = 'an unexpected error occurred', components }: PageErrorProps = $props()
|
||||
const { ContentBanner } = components
|
||||
type Props = { status: number; message?: string }
|
||||
let { status, message = 'an unexpected error occurred' }: Props = $props()
|
||||
</script>
|
||||
|
||||
<ContentBanner showHome={true} />
|
||||
|
||||
@@ -1,22 +1,11 @@
|
||||
<script lang="ts">
|
||||
import { page } from '$app/state'
|
||||
import loadContent from '$lib/content/load'
|
||||
import Page404Default from '$lib/content/components/404.default.svelte'
|
||||
import PageErrorDefault from '$lib/content/components/error.default.svelte'
|
||||
import ContentBanner from '$lib/content/components/ContentBanner.svelte'
|
||||
import PieceIcon from '$lib/pieces/components/icon.svelte'
|
||||
|
||||
const glob404 = import.meta.glob('$lib/content/components/custom/404.svelte', { eager: true })
|
||||
const globError = import.meta.glob('$lib/content/components/custom/error.svelte', { eager: true })
|
||||
|
||||
const Page404 = $derived(loadContent('404', Page404Default, glob404))
|
||||
const PageError = $derived(loadContent('error', PageErrorDefault, globError))
|
||||
|
||||
const components = { ContentBanner, PieceIcon }
|
||||
</script>
|
||||
|
||||
{#if page.status === 404}
|
||||
<Page404 message={page.error?.message} {components} />
|
||||
<Page404Default message={page.error?.message} />
|
||||
{:else}
|
||||
<PageError status={page.status} message={page.error?.message} {components} />
|
||||
<PageErrorDefault status={page.status} message={page.error?.message} />
|
||||
{/if}
|
||||
Reference in new issue
Block a user