"use client";

import { NextLink } from "@/components/next-link";
import {
  SiteError,
  SiteErrorActions,
  SiteErrorDescription,
  SiteErrorTitle,
} from "@/components/site-error";
import { getErrorMessage, getErrorName } from "@/lib/errors";

export default function ErrorPage({
  error,
  reset,
}: {
  error: Error & { digest?: string };
  reset: () => void;
}) {
  return (
    <SiteError>
      <SiteErrorTitle>{getErrorName(error)}</SiteErrorTitle>
      <SiteErrorDescription>{getErrorMessage(error)}</SiteErrorDescription>
      <SiteErrorActions>
        <NextLink href="/labs" onClick={reset}>
          Visit all labs
        </NextLink>
        <NextLink variant="ghost" href="/" onClick={reset}>
          Back to home page
        </NextLink>
      </SiteErrorActions>
    </SiteError>
  );
}
