diff --git a/packages/bruno-app/src/components/Modal/index.js b/packages/bruno-app/src/components/Modal/index.js index 0ec1aca08..413856eaf 100644 --- a/packages/bruno-app/src/components/Modal/index.js +++ b/packages/bruno-app/src/components/Modal/index.js @@ -2,6 +2,9 @@ import React, { useEffect, useState, useRef } from 'react'; import StyledWrapper from './StyledWrapper'; import useFocusTrap from 'hooks/useFocusTrap'; +const ESC_KEY_CODE = 27; +const ENTER_KEY_CODE = 13; + const ModalHeader = ({ title, handleCancel, customHeader, hideClose }) => (
{customHeader ? customHeader : <>{title ?
{title}
: null}} @@ -72,10 +75,17 @@ const Modal = ({ }) => { const modalRef = useRef(null); const [isClosing, setIsClosing] = useState(false); - const escFunction = (event) => { - const escKeyCode = 27; - if (event.keyCode === escKeyCode) { - closeModal({ type: 'esc' }); + + const handleKeydown = ({ keyCode }) => { + switch (keyCode) { + case ESC_KEY_CODE: { + return closeModal({ type: 'esc' }); + } + case ENTER_KEY_CODE: { + if(handleConfirm) { + return handleConfirm(); + } + } } }; @@ -88,9 +98,9 @@ const Modal = ({ useEffect(() => { if (disableEscapeKey) return; - document.addEventListener('keydown', escFunction, false); + document.addEventListener('keydown', handleKeydown, false); return () => { - document.removeEventListener('keydown', escFunction, false); + document.removeEventListener('keydown', handleKeydown); }; }, [disableEscapeKey, document]);