import { useEffect } from "react";
import { useNavigate } from "react-router-dom";

/**
 * Hook pour les raccourcis clavier du mode développeur
 *
 * @param {Object} options - Options pour le hook
 * @param {string} options.sessionId - ID de session en cours (si disponible)
 * @returns {void}
 */
const useDevShortcuts = ({ sessionId = null } = {}) => {
  const navigate = useNavigate();

  useEffect(() => {
    const handleKeyDown = (e) => {
      // Raccourci 'p' - effacer les données d'authentification et recharger
      if (e.key === "p") {
        console.log("Debug key pressed: Clearing auth data and refreshing");
        localStorage.removeItem("hf_oauth");
        localStorage.removeItem("auth_return_to");
        // Afficher un bref message
        alert("Auth data cleared. Page will reload.");
        // Recharger la page
        window.location.reload();
      }

      // Raccourci 'd' - aller directement à l'affichage du benchmark
      if (e.key === "d" && sessionId) {
        console.log("Debug key pressed: Showing BenchmarkDisplay");
        navigate(`/benchmark-display?session=${sessionId}`);
      }
    };

    window.addEventListener("keydown", handleKeyDown);
    return () => {
      window.removeEventListener("keydown", handleKeyDown);
    };
  }, [sessionId, navigate]);
};

export default useDevShortcuts;