demo / frontend /src /hooks /useDevShortcuts.js
tfrere's picture
first commit
970eef1
raw
history blame
1.35 kB
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;