Close the profile password modal via 'Esc' key

This commit is contained in:
Adam Coard 2020-09-29 23:25:21 +00:00
parent d67d75a8e7
commit 6f929378f0
2 changed files with 24 additions and 0 deletions

19
hooks/useEscapeKey.js Normal file
View file

@ -0,0 +1,19 @@
import { useEffect, useCallback } from 'react';
export default function useEscapeKey(handler) {
const escFunction = useCallback(event => {
if (event.keyCode === 27) {
handler(event);
}
}, []);
useEffect(() => {
document.addEventListener('keydown', escFunction, false);
return () => {
document.removeEventListener('keydown', escFunction, false);
};
}, [escFunction]);
return null;
}