From 7abf1ccc05c1e315acf77dee3b766b03d0116014 Mon Sep 17 00:00:00 2001 From: William Grant Date: Thu, 8 Feb 2024 14:20:01 +1100 Subject: [PATCH] feat: use singular delete button in multiselect opens modal for me or for everyone, communities admins can only delete for everyone on the server --- .../ConversationHeaderSelectionOverlay.tsx | 48 +++++++++---------- 1 file changed, 22 insertions(+), 26 deletions(-) diff --git a/ts/components/conversation/header/ConversationHeaderSelectionOverlay.tsx b/ts/components/conversation/header/ConversationHeaderSelectionOverlay.tsx index a530b72d2..1ca14e0e5 100644 --- a/ts/components/conversation/header/ConversationHeaderSelectionOverlay.tsx +++ b/ts/components/conversation/header/ConversationHeaderSelectionOverlay.tsx @@ -18,32 +18,26 @@ import { } from '../../basic/SessionButton'; import { SessionIconButton } from '../../icon'; +function onDeleteSelectedMessagesForEveryone( + selectedConversationKey: string, + selectedMessageIds: Array +) { + if (selectedConversationKey) { + void deleteMessagesByIdForEveryone(selectedMessageIds, selectedConversationKey); + } +} + export const SelectionOverlay = () => { const selectedMessageIds = useSelector(getSelectedMessageIds); const selectedConversationKey = useSelectedConversationKey(); const isPublic = useSelectedIsPublic(); const dispatch = useDispatch(); - const { i18n } = window; - function onCloseOverlay() { dispatch(resetSelectedMessageIds()); } - function onDeleteSelectedMessages() { - if (selectedConversationKey) { - void deleteMessagesById(selectedMessageIds, selectedConversationKey); - } - } - function onDeleteSelectedMessagesForEveryone() { - if (selectedConversationKey) { - void deleteMessagesByIdForEveryone(selectedMessageIds, selectedConversationKey); - } - } - const isOnlyServerDeletable = isPublic; - const deleteMessageButtonText = i18n('delete'); - const deleteForEveryoneMessageButtonText = i18n('deleteForEveryone'); return (
@@ -52,21 +46,23 @@ export const SelectionOverlay = () => {
- {!isOnlyServerDeletable && ( - - )} { + if (selectedConversationKey) { + if (isOnlyServerDeletable) { + void onDeleteSelectedMessagesForEveryone( + selectedConversationKey, + selectedMessageIds + ); + } else { + void deleteMessagesById(selectedMessageIds, selectedConversationKey); + } + } + }} />