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;