import { useCallback, useEffect } from 'react' export const useEscape = (callback?: () => void): void => { const handleKeyDown = useCallback( (event) => { if (event.key === 'Escape') { callback?.() } }, [callback] ) useEffect(() => { window.addEventListener('keydown', handleKeyDown) return () => window.removeEventListener('keydown', handleKeyDown) }, [handleKeyDown]) }