import { Show, type JSX } from "solid-js"; import { RouteError } from "~/lib/errors"; import styles from "~/routes/[handle].module.css"; interface ErrorBoundaryProps { error: unknown; reset: () => void; } export default function ErrorBoundary(props: ErrorBoundaryProps): JSX.Element { const err = (): Error => props.error instanceof Error ? props.error : new Error(String(props.error)); const routeError = (): RouteError | null => props.error instanceof RouteError ? props.error : null; return (

{routeError()?.title ?? "Something went wrong"}

{routeError()?.message ?? "An unexpected error occurred. Please try again."}

Error details
{err().stack}
); }