chatbot-ui/lib/hooks/use-hotkey.tsx

21 lines
500 B
TypeScript

import { useEffect } from "react"
const useHotkey = (key: string, callback: () => void): void => {
useEffect(() => {
const handleKeyDown = (event: KeyboardEvent): void => {
if (event.metaKey && event.shiftKey && event.key === key) {
event.preventDefault()
callback()
}
}
window.addEventListener("keydown", handleKeyDown)
return () => {
window.removeEventListener("keydown", handleKeyDown)
}
}, [key, callback])
}
export default useHotkey