Files
openhuman/app/src/hooks/useEscapeKey.ts
T

17 lines
437 B
TypeScript

import { useEffect } from 'react';
export function useEscapeKey(onEscape: () => void, enabled = true) {
useEffect(() => {
if (!enabled) return;
const handleKeyDown = (event: KeyboardEvent) => {
if (event.key === 'Escape') {
onEscape();
}
};
document.addEventListener('keydown', handleKeyDown);
return () => document.removeEventListener('keydown', handleKeyDown);
}, [enabled, onEscape]);
}