File size: 1,349 Bytes
970eef1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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;