Bind shortcut for pending changes confirmation only when it's shown

This commit is contained in:
Bogdan 2024-01-31 19:37:05 +02:00
parent cd3397a7a1
commit 2f1e077e0d
1 changed files with 10 additions and 4 deletions

View File

@ -15,12 +15,17 @@ function PendingChangesModal(props) {
isOpen, isOpen,
onConfirm, onConfirm,
onCancel, onCancel,
bindShortcut bindShortcut,
unbindShortcut
} = props; } = props;
useEffect(() => { useEffect(() => {
bindShortcut('enter', onConfirm); if (isOpen) {
}, [bindShortcut, onConfirm]); bindShortcut('enter', onConfirm);
return () => unbindShortcut('enter', onConfirm);
}
}, [bindShortcut, unbindShortcut, isOpen, onConfirm]);
return ( return (
<Modal <Modal
@ -61,7 +66,8 @@ PendingChangesModal.propTypes = {
kind: PropTypes.oneOf(kinds.all), kind: PropTypes.oneOf(kinds.all),
onConfirm: PropTypes.func.isRequired, onConfirm: PropTypes.func.isRequired,
onCancel: PropTypes.func.isRequired, onCancel: PropTypes.func.isRequired,
bindShortcut: PropTypes.func.isRequired bindShortcut: PropTypes.func.isRequired,
unbindShortcut: PropTypes.func.isRequired
}; };
PendingChangesModal.defaultProps = { PendingChangesModal.defaultProps = {