spb/satelliteindex
Public
TypeScript 66.5%
Python 30.9%
JavaScript 1.4%
CSS 0.7%
1'use client';2import Link from 'next/link';3import { useEffect } from 'react';4import { routes } from '@/lib/site';56/** Route-level error boundary: never shows stack traces; offers retry and degrades to search/detail pages. */7export default function ErrorPage({ error, reset }: { error: Error & { digest?: string }; reset: () => void }) {8 useEffect(() => {9 console.error('route error', error.digest ?? error.message);10 }, [error]);11 return (12 <div className="container-x mx-auto flex max-w-[1600px] flex-col items-start justify-center py-24 md:py-40">13 <p className="eyebrow text-warn">Telemetry interrupted</p>14 <h1 className="display mt-3 text-4xl md:text-6xl">Something went wrong.</h1>15 <p className="mt-4 max-w-md text-ink-2">The data service did not respond in time. Cached pages and search keep working; this view can be retried.</p>16 <div className="mt-8 flex gap-3">17 <button type="button" onClick={reset} className="rounded-md bg-accent px-4 py-2.5 text-sm font-medium text-accent-ink">Retry</button>18 <Link href={routes.home()} className="rounded-md border border-rule-strong px-4 py-2.5 text-sm text-ink hover:bg-plane-2">Home</Link>19 </div>20 {error.digest && <p className="mono mt-6 text-xs text-ink-3">ref {error.digest}</p>}21 </div>22 );23}24