6 scenarios × 4 apps — the audit gate refuses to ship an app that rolls its own error page outside the registry. Every page pairs an illustration with tenant-branded copy and a single primary action.
404 · Not found
Le cochonnet's gone missing
The page you asked for has wandered off the terrain. Let's get you back to play.
Scenario matrix
| Scenario | Status | Illustration | www | web | app | admin |
|---|---|---|---|---|---|---|
| not-found | 404 | error-404 | ||||
| server-error | 500 | error-500 | ||||
| offline | OFFLINE | error-offline | ||||
| maintenance | MAINT | error-maintenance | ||||
| permission-denied | 403 | error-permission-denied | ||||
| session-expired | 401 | session-expired |
tsx · app error boundary
import { ErrorPage } from '@petanque-life/shared/errors/web';
<ErrorPage scenario="server-error" />
// React-Native variant:
import { ErrorPage } from '@petanque-life/shared/errors/native'; | Prop | Type | Default | Description |
|---|---|---|---|
| scenario | ErrorScenario | — (required) | One of the 6 registered scenarios. |
| actionHref | string | scenario-default | Override the default primary action href. |
| supportHref | string | "mailto:support@…" | Override the secondary action href. |
| embedded | boolean | false | Render inside an existing layout rather than as a full-page takeover. |