All checks were successful
Gitea CI / test-build (push) Successful in 11m8s
Remove @sentry/nextjs and all related files since it was never actively used. - Delete sentry.server.config.ts, sentry.edge.config.ts - Delete sentry-example-page and sentry-example-api routes - Clean up instrumentation.ts, global-error.tsx, middleware.ts - Remove Sentry env vars from env.example and docs - Update CLAUDE.md, copilot-instructions.md, PRODUCTION_READINESS.md Middleware bundle reduced from 86KB to 34.8KB (-51KB). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
43 lines
1.1 KiB
TypeScript
43 lines
1.1 KiB
TypeScript
"use client";
|
|
|
|
import { useEffect } from "react";
|
|
|
|
export default function GlobalError({
|
|
error,
|
|
reset,
|
|
}: {
|
|
error: Error & { digest?: string };
|
|
reset: () => void;
|
|
}) {
|
|
useEffect(() => {
|
|
if (process.env.NODE_ENV === "development") {
|
|
console.error("Global Error:", error);
|
|
}
|
|
}, [error]);
|
|
|
|
return (
|
|
<html>
|
|
<body>
|
|
<div className="flex flex-col items-center justify-center h-screen gap-4 p-4">
|
|
<h2 className="text-2xl font-bold text-red-600">
|
|
Critical System Error
|
|
</h2>
|
|
<div className="bg-red-50 border border-red-200 rounded p-4 max-w-2xl">
|
|
<p className="font-semibold mb-2">Error Type: {error.name}</p>
|
|
<p className="text-sm mb-2">Message: {error.message}</p>
|
|
{error.digest && (
|
|
<p className="text-xs text-gray-600">Digest: {error.digest}</p>
|
|
)}
|
|
</div>
|
|
<button
|
|
className="px-4 py-2 bg-blue-500 text-white rounded hover:bg-blue-600 transition-colors"
|
|
onClick={() => reset()}
|
|
>
|
|
Restart App
|
|
</button>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
);
|
|
}
|