๐Ÿ“ฆ cloudflare / vinext

๐Ÿ“„ error.tsx ยท 27 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27"use client";

import { s } from "./_styles.js";

export default function ErrorBoundary({
  error,
  reset,
}: {
  error: Error & { digest?: string };
  reset: () => void;
}) {
  return (
    <main style={s.center}>
      <h1 style={{ fontSize: "1.5rem", fontWeight: 700 }}>Something went wrong</h1>
      <p data-testid="error-message" style={{ ...s.card, ...s.mono }}>
        {error.message}
      </p>
      {error.digest && (
        <p style={s.mono}>Digest: {error.digest}</p>
      )}
      <button data-testid="error-reset" onClick={() => reset()} style={s.btn}>
        Try again
      </button>
    </main>
  );
}