"use client";

import { useEffect } from "react";
import { Button } from "@/components/ui/Button";

interface ErrorPageProps {
  error: Error & { digest?: string };
  reset: () => void;
}

/** Route-level error boundary. Never leaks stack traces to users. */
export default function ErrorPage({ error, reset }: ErrorPageProps) {
  useEffect(() => {
    // Logged for diagnostics only — never rendered to the user.
    console.error("Route error:", error);
  }, [error]);

  return (
    <div className="shell flex flex-col items-center py-24 text-center">
      <div
        aria-hidden="true"
        className="mb-4 flex h-12 w-12 items-center justify-center rounded-2xl bg-slate-800 text-2xl"
      >
        ⚠️
      </div>
      <h1 className="text-2xl font-bold text-white">Something went wrong</h1>
      <p className="mt-2 max-w-md text-slate-400">
        We couldn&apos;t load this page. Please try again — if the problem
        persists, let us know via the Report a Problem link.
      </p>
      <div className="mt-6 flex flex-wrap justify-center gap-3">
        <Button onClick={reset}>Try again</Button>
        <Button href="/" variant="secondary">
          Back home
        </Button>
      </div>
    </div>
  );
}
