forked from
pds.ls/pdsls
atmosphere explorer
1import { onCleanup } from "solid-js";
2
3export const useFilterShortcut = (getRef: () => HTMLInputElement | undefined) => {
4 const handleKeyDown = (e: KeyboardEvent) => {
5 if (
6 e.key === "/" &&
7 !["INPUT", "TEXTAREA"].includes((e.target as HTMLElement)?.tagName) &&
8 !document.querySelector("[data-modal]")
9 ) {
10 e.preventDefault();
11 getRef()?.focus();
12 }
13 };
14 document.addEventListener("keydown", handleKeyDown);
15 onCleanup(() => document.removeEventListener("keydown", handleKeyDown));
16};