diff --git a/ts/components/conversation/message/message-content/MessageContextMenu.tsx b/ts/components/conversation/message/message-content/MessageContextMenu.tsx index 9736949d7..3b7d8927b 100644 --- a/ts/components/conversation/message/message-content/MessageContextMenu.tsx +++ b/ts/components/conversation/message/message-content/MessageContextMenu.tsx @@ -88,19 +88,29 @@ const StyledEmojiPanelContainer = styled.div<{ x: number; y: number }>` } `; -const DeleteForEveryone = ({ messageId }: { messageId: string }) => { +const DeleteItem = ({ messageId }: { messageId: string }) => { const convoId = useSelectedConversationKey(); + const isPublic = useSelectedIsPublic(); + + const isDeletable = useMessageIsDeletable(messageId); const isDeletableForEveryone = useMessageIsDeletableForEveryone(messageId); - if (!convoId || !isDeletableForEveryone) { + + const onDelete = useCallback(() => { + if (convoId) { + if (!isPublic && isDeletable) { + void deleteMessagesById([messageId], convoId); + } + if (isPublic && isDeletableForEveryone) { + void deleteMessagesByIdForEveryone([messageId], convoId); + } + } + }, [convoId, isDeletable, isDeletableForEveryone, isPublic, messageId]); + + if (!convoId || (isPublic && !isDeletableForEveryone) || (!isPublic && !isDeletable)) { return null; } - const onDeleteForEveryone = () => { - void deleteMessagesByIdForEveryone([messageId], convoId); - }; - - const unsendMessageText = window.i18n('deleteForEveryone'); - return {unsendMessageText}; + return {window.i18n('delete')}; }; type MessageId = { messageId: string }; @@ -193,7 +203,6 @@ export const MessageContextMenu = (props: Props) => { const isSelectedBlocked = useSelectedIsBlocked(); const convoId = useSelectedConversationKey(); - const isPublic = useSelectedIsPublic(); const direction = useMessageDirection(messageId); const status = useMessageStatus(messageId); @@ -238,7 +247,6 @@ export const MessageContextMenu = (props: Props) => { ); const selectMessageText = window.i18n('selectMessage'); - const deleteMessageJustForMeText = window.i18n('deleteJustForMe'); const onReply = useCallback(() => { if (isSelectedBlocked) { @@ -256,12 +264,6 @@ export const MessageContextMenu = (props: Props) => { dispatch(toggleSelectedMessageId(messageId)); }, [dispatch, messageId]); - const onDelete = useCallback(() => { - if (convoId) { - void deleteMessagesById([messageId], convoId); - } - }, [convoId, messageId]); - const onShowEmoji = () => { hideAll(); setMouseX(docX); @@ -388,10 +390,7 @@ export const MessageContextMenu = (props: Props) => { {isDeletable ? {selectMessageText} : null} - {isDeletable && !isPublic ? ( - {deleteMessageJustForMeText} - ) : null} - +