fix: fix problem which allow operate to local message

add flag to hide it
pull/105/merge
moonrailgun 2 years ago
parent 58f7144c31
commit 9fb024659b

@ -75,6 +75,10 @@ const NormalMessage: React.FC<ChatMessageItemProps> = React.memo((props) => {
},
});
// 禁止对消息进行操作,因为此时消息尚未发送到远程
const disableOperate =
payload.isLocal === true || payload.sendFailed === true;
return (
<div
className={clsx(
@ -169,39 +173,41 @@ const NormalMessage: React.FC<ChatMessageItemProps> = React.memo((props) => {
</div>
{/* 操作 */}
<div
className={clsx(
'bg-white dark:bg-black rounded absolute right-2 cursor-pointer -top-3 shadow-sm flex',
{
'opacity-0 group-hover:opacity-100 bg-opacity-80 hover:bg-opacity-100':
!isActionBtnActive,
'opacity-100 bg-opacity-100': isActionBtnActive,
}
)}
>
<TcPopover
overlayClassName="chat-message-item_action-popover"
content={emojiAction}
placement="bottomLeft"
trigger={['click']}
onOpenChange={setIsActionBtnActive}
{!disableOperate && (
<div
className={clsx(
'bg-white dark:bg-black rounded absolute right-2 cursor-pointer -top-3 shadow-sm flex',
{
'opacity-0 group-hover:opacity-100 bg-opacity-80 hover:bg-opacity-100':
!isActionBtnActive,
'opacity-100 bg-opacity-100': isActionBtnActive,
}
)}
>
<div>
<MessageActionIcon icon="mdi:emoticon-happy-outline" />
</div>
</TcPopover>
<TcPopover
overlayClassName="chat-message-item_action-popover"
content={emojiAction}
placement="bottomLeft"
trigger={['click']}
onOpenChange={setIsActionBtnActive}
>
<div>
<MessageActionIcon icon="mdi:emoticon-happy-outline" />
</div>
</TcPopover>
<Dropdown
menu={moreActions}
placement="bottomLeft"
trigger={['click']}
onOpenChange={setIsActionBtnActive}
>
<div>
<MessageActionIcon icon="mdi:dots-horizontal" />
</div>
</Dropdown>
</div>
<Dropdown
menu={moreActions}
placement="bottomLeft"
trigger={['click']}
onOpenChange={setIsActionBtnActive}
>
<div>
<MessageActionIcon icon="mdi:dots-horizontal" />
</div>
</Dropdown>
</div>
)}
</div>
);
});

Loading…
Cancel
Save