From 858912d66f0e8c012a319f165e0b7b29ef96eae5 Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Wed, 31 Aug 2022 15:00:41 +0200 Subject: [PATCH] Message List / Scheduled: Allow Copy and disable Report (#2009) --- src/components/middle/MessageSelectToolbar.tsx | 5 +++-- src/global/actions/ui/messages.ts | 7 +++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/components/middle/MessageSelectToolbar.tsx b/src/components/middle/MessageSelectToolbar.tsx index c8a83dfef..8d3040abc 100644 --- a/src/components/middle/MessageSelectToolbar.tsx +++ b/src/components/middle/MessageSelectToolbar.tsx @@ -176,15 +176,16 @@ const MessageSelectToolbar: FC = ({ export default memo(withGlobal( (global): StateProps => { const { type: messageListType, chatId } = selectCurrentMessageList(global) || {}; + const isSchedule = messageListType === 'scheduled'; const { canDelete } = selectCanDeleteSelectedMessages(global); - const canReport = selectCanReportSelectedMessages(global); + const canReport = Boolean(!isSchedule && selectCanReportSelectedMessages(global)); const canDownload = selectCanDownloadSelectedMessages(global); const { messageIds: selectedMessageIds } = global.selectedMessages || {}; const hasProtectedMessage = chatId ? selectHasProtectedMessage(global, chatId, selectedMessageIds) : false; const isForwardModalOpen = global.forwardMessages.isModalShown; return { - isSchedule: messageListType === 'scheduled', + isSchedule, selectedMessagesCount: selectSelectedMessagesCount(global), canDeleteMessages: canDelete, canReportMessages: canReport, diff --git a/src/global/actions/ui/messages.ts b/src/global/actions/ui/messages.ts index 38ef793f5..a198ecd24 100644 --- a/src/global/actions/ui/messages.ts +++ b/src/global/actions/ui/messages.ts @@ -34,6 +34,7 @@ import { selectReplyingToId, selectReplyStack, selectSender, + selectScheduledMessages, } from '../../selectors'; import { findLast } from '../../../util/iteratees'; import { getServerTime } from '../../../util/serverTime'; @@ -729,10 +730,12 @@ addActionHandler('copyMessagesByIds', (global, actions, payload: { messageIds?: }); function copyTextForMessages(global: GlobalState, chatId: string, messageIds: number[]) { - const { threadId } = selectCurrentMessageList(global) || {}; + const { type: messageListType, threadId } = selectCurrentMessageList(global) || {}; const lang = langProvider.getTranslation; - const chatMessages = selectChatMessages(global, chatId); + const chatMessages = messageListType === 'scheduled' + ? selectScheduledMessages(global, chatId) + : selectChatMessages(global, chatId); if (!chatMessages || !threadId) return; const messages = messageIds .map((id) => chatMessages[id])