session-desktop/ts/components/menu/ConversationListItemContextMenu.tsx

65 lines
1.7 KiB
TypeScript
Raw Normal View History

import React from 'react';
2020-10-22 07:34:41 +02:00
import { animation, Menu } from 'react-contexify';
2022-01-18 05:21:36 +01:00
import _ from 'lodash';
2020-10-22 07:34:41 +02:00
import {
AcceptMenuItem,
BanMenuItem,
BlockMenuItem,
ChangeNicknameMenuItem,
ClearNicknameMenuItem,
CopyMenuItem,
DeclineMenuItem,
DeleteContactMenuItem,
DeleteMessagesMenuItem,
InviteContactMenuItem,
LeaveGroupMenuItem,
MarkAllReadMenuItem,
MarkConversationUnreadMenuItem,
NotificationForConvoMenuItem,
PinConversationMenuItem,
ShowUserDetailsMenuItem,
UnbanMenuItem,
2020-10-22 07:34:41 +02:00
} from './Menu';
import { SessionContextMenuContainer } from '../SessionContextMenuContainer';
2020-10-22 07:34:41 +02:00
export type PropsContextConversationItem = {
triggerId: string;
};
const ConversationListItemContextMenu = (props: PropsContextConversationItem) => {
const { triggerId } = props;
2020-10-22 07:34:41 +02:00
return (
<SessionContextMenuContainer>
<Menu id={triggerId} animation={animation.fade}>
<AcceptMenuItem />
<DeclineMenuItem />
<NotificationForConvoMenuItem />
<PinConversationMenuItem />
<BlockMenuItem />
<CopyMenuItem />
<MarkAllReadMenuItem />
<MarkConversationUnreadMenuItem />
<ChangeNicknameMenuItem />
<ClearNicknameMenuItem />
<DeleteMessagesMenuItem />
<BanMenuItem />
<UnbanMenuItem />
<InviteContactMenuItem />
<DeleteContactMenuItem />
<LeaveGroupMenuItem />
<ShowUserDetailsMenuItem />
</Menu>
</SessionContextMenuContainer>
2020-10-22 07:34:41 +02:00
);
};
function propsAreEqual(prev: PropsContextConversationItem, next: PropsContextConversationItem) {
return _.isEqual(prev, next);
}
export const MemoConversationListItemContextMenu = React.memo(
ConversationListItemContextMenu,
propsAreEqual
);