import React from 'react'; import { animation, Menu } from 'react-contexify'; import _ from 'lodash'; import { AcceptMenuItem, BanMenuItem, BlockMenuItem, ChangeNicknameMenuItem, ClearNicknameMenuItem, CopyMenuItem, DeclineMenuItem, DeleteContactMenuItem, DeleteMessagesMenuItem, InviteContactMenuItem, LeaveGroupMenuItem, MarkAllReadMenuItem, NotificationForConvoMenuItem, PinConversationMenuItem, ShowUserDetailsMenuItem, UnbanMenuItem, } from './Menu'; import { SessionContextMenuContainer } from '../SessionContextMenuContainer'; export type PropsContextConversationItem = { triggerId: string; }; const ConversationListItemContextMenu = (props: PropsContextConversationItem) => { const { triggerId } = props; return ( <SessionContextMenuContainer> <Menu id={triggerId} animation={animation.fade}> <AcceptMenuItem /> <DeclineMenuItem /> <NotificationForConvoMenuItem /> <PinConversationMenuItem /> <BlockMenuItem /> <CopyMenuItem /> <MarkAllReadMenuItem /> <ChangeNicknameMenuItem /> <ClearNicknameMenuItem /> <DeleteMessagesMenuItem /> <BanMenuItem /> <UnbanMenuItem /> <InviteContactMenuItem /> <DeleteContactMenuItem /> <LeaveGroupMenuItem /> <ShowUserDetailsMenuItem /> </Menu> </SessionContextMenuContainer> ); }; function propsAreEqual(prev: PropsContextConversationItem, next: PropsContextConversationItem) { return _.isEqual(prev, next); } export const MemoConversationListItemContextMenu = React.memo( ConversationListItemContextMenu, propsAreEqual );