"use client";

import { reportError } from "@core/Services/ErrorReporting.Service";
import { useSessionStore } from "@core/Store/Sesion.Store";
import Link from "next/link";
import { useEffect } from "react";

type ErrorProps = {
    error: Error & { digest?: string }; // puedes extender si necesitas
    reset: () => void;
};

export default function Error({ error }: ErrorProps) {
    const SessionInfo = useSessionStore();

    useEffect(() => {
        reportError({
            message: error.message + " userAgent: " + navigator.userAgent,
            url: window.location.href,
            userName: SessionInfo.userFullName || "Usuario Anonimo",
            userEmail: SessionInfo.userEmail || "anonimo",
            userId: SessionInfo.userId || "anonimo",
            dateError: new Date(),
        });
    }, [error]);

    return (
        <div className="error-div-container">
            <Link href="/">
                <img src="/tx-logo-text.svg" alt="TurnosXpress.com.ar" />
            </Link>
            <div className="card error-card">
                <h2 style={{ color: "var(--wine-red)" }}>Algo salio mal!</h2>
                <p>
                    Ha ocurrido un error inesperado. Por favor, intenta volver a cargar la página o
                    regresa más tarde. Si el problema persiste, contáctanos en{" "}
                    <Link href="mailto:info@turnosxpress.com.ar">info@turnosxpress.com.ar</Link>.
                </p>
            </div>
        </div>
    );
}
