From 53fca2a4e9e4af81649a96bcaccb27bed2a27264 Mon Sep 17 00:00:00 2001 From: Audric Ackermann Date: Tue, 22 Aug 2023 09:58:25 +1000 Subject: [PATCH] fix: text for note to self delete from all my devices --- _locales/en/messages.json | 1 + ts/components/conversation/ConversationHeader.tsx | 5 ++++- .../message/message-content/MessageContextMenu.tsx | 6 +++++- ts/interactions/conversations/unsendingInteractions.ts | 5 +++-- ts/types/LocalizerKeys.ts | 1 + 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index d16a544ad..5fcf483c9 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -99,6 +99,7 @@ "delete": "Delete", "messageDeletionForbidden": "You don’t have permission to delete others’ messages", "deleteJustForMe": "Delete just for me", + "deleteFromAllMyDevices": "Delete from all my devices", "deleteForEveryone": "Delete for everyone", "deleteMessagesQuestion": "Delete $count$ messages?", "deleteMessageQuestion": "Delete this message?", diff --git a/ts/components/conversation/ConversationHeader.tsx b/ts/components/conversation/ConversationHeader.tsx index 9bc56ce25..79ab31144 100644 --- a/ts/components/conversation/ConversationHeader.tsx +++ b/ts/components/conversation/ConversationHeader.tsx @@ -65,6 +65,7 @@ const SelectionOverlay = () => { const selectedConversationKey = useSelectedConversationKey(); const isPublic = useSelectedIsPublic(); const dispatch = useDispatch(); + const isMe = useSelectedisNoteToSelf(); const { i18n } = window; @@ -85,7 +86,9 @@ const SelectionOverlay = () => { const isOnlyServerDeletable = isPublic; const deleteMessageButtonText = i18n('delete'); - const deleteForEveryoneMessageButtonText = i18n('deleteForEveryone'); + const deleteForEveryoneMessageButtonText = isMe + ? i18n('deleteFromAllMyDevices') + : i18n('deleteForEveryone'); return (
diff --git a/ts/components/conversation/message/message-content/MessageContextMenu.tsx b/ts/components/conversation/message/message-content/MessageContextMenu.tsx index 7591a9ac6..fec11e0f3 100644 --- a/ts/components/conversation/message/message-content/MessageContextMenu.tsx +++ b/ts/components/conversation/message/message-content/MessageContextMenu.tsx @@ -27,6 +27,7 @@ import { import { useSelectedConversationKey, useSelectedIsBlocked, + useSelectedisNoteToSelf, useSelectedIsPublic, useSelectedWeAreAdmin, useSelectedWeAreModerator, @@ -89,6 +90,7 @@ const StyledEmojiPanelContainer = styled.div<{ x: number; y: number }>` const DeleteForEveryone = ({ messageId }: { messageId: string }) => { const convoId = useSelectedConversationKey(); + const isMe = useSelectedisNoteToSelf(); const isDeletableForEveryone = useMessageIsDeletableForEveryone(messageId); if (!convoId || !isDeletableForEveryone) { return null; @@ -97,7 +99,9 @@ const DeleteForEveryone = ({ messageId }: { messageId: string }) => { void deleteMessagesByIdForEveryone([messageId], convoId); }; - const unsendMessageText = window.i18n('deleteForEveryone'); + const unsendMessageText = isMe + ? window.i18n('deleteFromAllMyDevices') + : window.i18n('deleteForEveryone'); return {unsendMessageText}; }; diff --git a/ts/interactions/conversations/unsendingInteractions.ts b/ts/interactions/conversations/unsendingInteractions.ts index 85bdc930e..819bbfe7f 100644 --- a/ts/interactions/conversations/unsendingInteractions.ts +++ b/ts/interactions/conversations/unsendingInteractions.ts @@ -340,6 +340,7 @@ export async function deleteMessagesByIdForEveryone( conversationId: string ) { const conversation = getConversationController().getOrThrow(conversationId); + const isMe = conversation.isMe(); const selectedMessages = compact( await Promise.all(messageIds.map(m => Data.getMessageById(m, false))) ); @@ -349,11 +350,11 @@ export async function deleteMessagesByIdForEveryone( window.inboxStore?.dispatch( updateConfirmModal({ - title: window.i18n('deleteForEveryone'), + title: isMe ? window.i18n('deleteFromAllMyDevices') : window.i18n('deleteForEveryone'), message: moreThanOne ? window.i18n('deleteMessagesQuestion', [messageCount.toString()]) : window.i18n('deleteMessageQuestion'), - okText: window.i18n('deleteForEveryone'), + okText: isMe ? window.i18n('deleteFromAllMyDevices') : window.i18n('deleteForEveryone'), okTheme: SessionButtonColor.Danger, onClickOk: async () => { await doDeleteSelectedMessages({ selectedMessages, conversation, deleteForEveryone: true }); diff --git a/ts/types/LocalizerKeys.ts b/ts/types/LocalizerKeys.ts index 592b1f592..e710d08ba 100644 --- a/ts/types/LocalizerKeys.ts +++ b/ts/types/LocalizerKeys.ts @@ -99,6 +99,7 @@ export type LocalizerKeys = | 'delete' | 'messageDeletionForbidden' | 'deleteJustForMe' + | 'deleteFromAllMyDevices' | 'deleteForEveryone' | 'deleteMessagesQuestion' | 'deleteMessageQuestion'