mirror of
https://github.com/kremalicious/umami.git
synced 2024-06-28 16:57:52 +02:00
22 lines
530 B
TypeScript
22 lines
530 B
TypeScript
|
import { useEffect, useCallback, KeyboardEvent } from 'react';
|
||
|
|
||
|
export function useEscapeKey(handler: (event: KeyboardEvent) => void) {
|
||
|
const escFunction = useCallback((event: KeyboardEvent) => {
|
||
|
if (event.key === 'Escape') {
|
||
|
handler(event);
|
||
|
}
|
||
|
}, []);
|
||
|
|
||
|
useEffect(() => {
|
||
|
document.addEventListener('keydown', escFunction as any, false);
|
||
|
|
||
|
return () => {
|
||
|
document.removeEventListener('keydown', escFunction as any, false);
|
||
|
};
|
||
|
}, [escFunction]);
|
||
|
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
export default useEscapeKey;
|