Fixing right click menu interactions with the request banner

pull/2222/head
warrickct 4 years ago
parent 049f86a6e9
commit 6552f032be

@ -1,4 +1,4 @@
import React, { useState } from 'react'; import React from 'react';
import { contextMenu } from 'react-contexify'; import { contextMenu } from 'react-contexify';
import { createPortal } from 'react-dom'; import { createPortal } from 'react-dom';
import { useSelector } from 'react-redux'; import { useSelector } from 'react-redux';
@ -89,7 +89,6 @@ export const MessageRequestsBanner = (props: { handleOnClick: () => any }) => {
const { handleOnClick } = props; const { handleOnClick } = props;
const conversationRequests = useSelector(getConversationRequests); const conversationRequests = useSelector(getConversationRequests);
const hideRequestBanner = useSelector(getHideMessageRequestBanner); const hideRequestBanner = useSelector(getHideMessageRequestBanner);
const [isMenuOpen, setIsMenuOpen] = useState(false);
if (!conversationRequests.length || hideRequestBanner) { if (!conversationRequests.length || hideRequestBanner) {
return null; return null;
@ -102,20 +101,19 @@ export const MessageRequestsBanner = (props: { handleOnClick: () => any }) => {
id: triggerId, id: triggerId,
event: e, event: e,
}); });
setIsMenuOpen(true);
}; };
const handleOnClickBanner = (e: React.MouseEvent<HTMLDivElement>) => { const openRequests = (e: React.MouseEvent<HTMLDivElement>) => {
if (e.button === 0 && !isMenuOpen) { if (e.button === 0) {
handleOnClick(); handleOnClick();
} }
}; };
return ( return (
<>
<StyledMessageRequestBanner <StyledMessageRequestBanner
onContextMenu={handleOnContextMenu} onContextMenu={handleOnContextMenu}
onClick={handleOnClickBanner} onClick={openRequests}
onMouseUp={e => { onMouseUp={e => {
e.stopPropagation(); e.stopPropagation();
e.preventDefault(); e.preventDefault();
@ -128,10 +126,11 @@ export const MessageRequestsBanner = (props: { handleOnClick: () => any }) => {
<StyledUnreadCounter> <StyledUnreadCounter>
<div>{conversationRequests.length || 0}</div> <div>{conversationRequests.length || 0}</div>
</StyledUnreadCounter> </StyledUnreadCounter>
</StyledMessageRequestBanner>
<Portal> <Portal>
<MemoMessageRequestBannerContextMenu triggerId={triggerId} /> <MemoMessageRequestBannerContextMenu triggerId={triggerId} />
</Portal> </Portal>
</StyledMessageRequestBanner> </>
); );
}; };

Loading…
Cancel
Save