[web] use built-in error views #154

Merged
eleith merged 1 commits from fix/builtin-error-views into main 2026-10-25 14:45:46 +00:00
4 changed files with 13 additions and 19 deletions

No files matched your search

+6
View File
@@ -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} />
+2 -13
View File
@@ -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}