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}
-
+