MCPcopy Create free account
hub / github.com/code100x/daily-code / handleKeyPress

Function handleKeyPress

apps/web/components/ContentSearch.tsx:67–93  ·  view source on GitHub ↗
(event: KeyboardEvent)

Source from the content-addressed store, hash-verified

65
66 useEffect(() => {
67 const handleKeyPress = (event: KeyboardEvent) => {
68 switch (event.code) {
69 case "KeyK":
70 if (event.ctrlKey) {
71 event.preventDefault();
72 setDialogOpen(true);
73 }
74 break;
75 case "ArrowDown":
76 event.preventDefault();
77 setSelectedIndex((prevIndex) => (prevIndex + 1) % searchTracks.length);
78 break;
79 case "ArrowUp":
80 event.preventDefault();
81 setSelectedIndex((prevIndex) => (prevIndex - 1 + searchTracks.length) % searchTracks.length);
82 break;
83 case "Enter":
84 if (selectedIndex !== -1) {
85 event.preventDefault();
86 const selectedTrack = searchTracks[selectedIndex];
87 window.open(`/tracks/${selectedTrack?.payload.trackId}/${selectedTrack?.payload.problemId}`, "_blank");
88 }
89 break;
90 default:
91 break;
92 }
93 };
94
95 window.addEventListener("keydown", handleKeyPress);
96 return () => window.removeEventListener("keydown", handleKeyPress);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected