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

Function handleKeyPress

apps/web/components/SearchDialog.tsx:58–82  ·  view source on GitHub ↗
(event: KeyboardEvent)

Source from the content-addressed store, hash-verified

56
57 useEffect(() => {
58 const handleKeyPress = (event: KeyboardEvent) => {
59 if (event.code === "KeyK" && (event.ctrlKey || event.metaKey)) {
60 event.preventDefault();
61 setDialogOpen(true);
62 } else if (event.code === "ArrowDown") {
63 event.preventDefault();
64 setSelectedIndex((prevIndex) => Math.min(prevIndex + 1, searchTracks.length - 1));
65 } else if (event.code === "ArrowUp") {
66 event.preventDefault();
67 setSelectedIndex((prevIndex) => Math.max(prevIndex - 1, 0));
68 } else if (event.code === "Enter" && selectedIndex !== -1) {
69 event.preventDefault();
70 document.getElementById(`track-link-${selectedIndex}`)?.click();
71 }
72 if (event.code === "ArrowDown" || event.code === "ArrowUp") {
73 event.preventDefault();
74 const container = scrollableContainerRef.current;
75 if (container) {
76 if (selectedIndex > 3) {
77 const scrollAmount = event.code === "ArrowDown" ? 85 : -80;
78 container.scrollBy({ top: scrollAmount, behavior: "smooth" });
79 }
80 }
81 }
82 };
83
84 window.addEventListener("keydown", handleKeyPress);
85 return () => {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected