mirror of
https://github.com/cheeaun/phanpy.git
synced 2024-11-25 02:35:39 +03:00
Fix 'esc' closes both modal and status page
This commit is contained in:
parent
c03f39b10c
commit
81644e67bb
2 changed files with 15 additions and 3 deletions
|
@ -20,9 +20,17 @@ function Modal({ children, onClose, onClick, class: className }) {
|
|||
return () => clearTimeout(timer);
|
||||
}, []);
|
||||
|
||||
const escRef = useHotkeys('esc', onClose, [onClose], {
|
||||
enabled: !!onClose,
|
||||
});
|
||||
const escRef = useHotkeys(
|
||||
'esc',
|
||||
onClose,
|
||||
{
|
||||
enabled: !!onClose,
|
||||
keydown: false,
|
||||
keyup: true,
|
||||
// This will run "later" to prevent clash with esc handlers from other components
|
||||
},
|
||||
[onClose],
|
||||
);
|
||||
|
||||
const Modal = (
|
||||
<div
|
||||
|
|
|
@ -537,6 +537,10 @@ function StatusThread({ id, closeLink = '/', instance: propInstance }) {
|
|||
// If media is open, esc to close media first
|
||||
// Else close the status page
|
||||
enabled: !showMedia,
|
||||
ignoreEventWhen: (e) => {
|
||||
const hasModal = !!document.querySelector('#modal-container > *');
|
||||
return hasModal;
|
||||
},
|
||||
},
|
||||
);
|
||||
// For backspace, will always close both media and status page
|
||||
|
|
Loading…
Reference in a new issue