"use client";

import { useEffect } from "react";
import Link from "next/link";
import { TriangleAlert } from "lucide-react";
import { Button } from "@/components/ui/button";
import { useT } from "@/lib/i18n";

export default function GlobalError({ error, reset }: { error: Error; reset: () => void }) {
  const t = useT();
  useEffect(() => {
    console.error("Global error:", error);
  }, [error]);

  return (
    <div className="flex min-h-screen flex-col items-center justify-center gap-4 p-6 text-center" role="alert">
      <TriangleAlert className="h-10 w-10 text-destructive" aria-hidden />
      <h1 className="text-xl font-semibold">{t("error.title")}</h1>
      <p className="max-w-md text-sm text-muted-foreground bidi-safe">{error.message}</p>
      <div className="flex gap-2">
        <Button onClick={reset}>{t("error.tryAgain")}</Button>
        <Button variant="outline" asChild>
          <Link href="/">{t("error.goToDashboard")}</Link>
        </Button>
      </div>
    </div>
  );
}
