Problem
Only the root `+error.svelte` exists. When an error occurs in any app or admin page (e.g. a failed server load on the users list), the entire viewport - including sidebar, breadcrumbs, and header - is replaced with the root error page. This is disorienting and prevents navigation to other pages.
Split from #130, which also covers skip-to-content and focus management (independently deliverable).
Proposed Solution
Add `+error.svelte` files to key route groups:
- `(app)/+error.svelte` - keeps sidebar/header visible, shows error in the content area
- `(app)/admin/+error.svelte` - admin-specific error handling within the app shell
Both should reuse the existing error page patterns (status code display, descriptive messages, navigation back).
Affected Files
- New: `src/frontend/src/routes/(app)/+error.svelte`
- New: `src/frontend/src/routes/(app)/admin/+error.svelte`
- Reference: `src/frontend/src/routes/+error.svelte`
Problem
Only the root `+error.svelte` exists. When an error occurs in any app or admin page (e.g. a failed server load on the users list), the entire viewport - including sidebar, breadcrumbs, and header - is replaced with the root error page. This is disorienting and prevents navigation to other pages.
Split from #130, which also covers skip-to-content and focus management (independently deliverable).
Proposed Solution
Add `+error.svelte` files to key route groups:
Both should reuse the existing error page patterns (status code display, descriptive messages, navigation back).
Affected Files