Forward Modal: Fix backspace deletes selected messages (#1917)

This commit is contained in:
Alexander Zinchuk 2022-06-27 22:02:50 +02:00
parent 53e87868fa
commit cf586ca20f

View File

@ -39,6 +39,7 @@ type StateProps = {
canReportMessages?: boolean; canReportMessages?: boolean;
canDownloadMessages?: boolean; canDownloadMessages?: boolean;
hasProtectedMessage?: boolean; hasProtectedMessage?: boolean;
isForwardModalOpen?: boolean;
selectedMessageIds?: number[]; selectedMessageIds?: number[];
}; };
@ -52,6 +53,7 @@ const MessageSelectToolbar: FC<OwnProps & StateProps> = ({
canReportMessages, canReportMessages,
canDownloadMessages, canDownloadMessages,
hasProtectedMessage, hasProtectedMessage,
isForwardModalOpen,
selectedMessageIds, selectedMessageIds,
}) => { }) => {
const { const {
@ -68,14 +70,14 @@ const MessageSelectToolbar: FC<OwnProps & StateProps> = ({
useCopySelectedMessages(Boolean(isActive), copySelectedMessages); useCopySelectedMessages(Boolean(isActive), copySelectedMessages);
useEffect(() => { useEffect(() => {
return isActive && !isDeleteModalOpen && !isReportModalOpen return isActive && !isDeleteModalOpen && !isReportModalOpen && !isForwardModalOpen
? captureKeyboardListeners({ ? captureKeyboardListeners({
onBackspace: openDeleteModal, onBackspace: openDeleteModal,
onDelete: openDeleteModal, onDelete: openDeleteModal,
onEsc: exitMessageSelectMode, onEsc: exitMessageSelectMode,
}) })
: undefined; : undefined;
}, [isActive, isDeleteModalOpen, isReportModalOpen, openDeleteModal, exitMessageSelectMode]); }, [isActive, isDeleteModalOpen, isReportModalOpen, openDeleteModal, exitMessageSelectMode, isForwardModalOpen]);
const handleCopy = useCallback(() => { const handleCopy = useCallback(() => {
copySelectedMessages(); copySelectedMessages();
@ -176,6 +178,7 @@ export default memo(withGlobal<OwnProps>(
const canDownload = selectCanDownloadSelectedMessages(global); const canDownload = selectCanDownloadSelectedMessages(global);
const { messageIds: selectedMessageIds } = global.selectedMessages || {}; const { messageIds: selectedMessageIds } = global.selectedMessages || {};
const hasProtectedMessage = chatId ? selectHasProtectedMessage(global, chatId, selectedMessageIds) : false; const hasProtectedMessage = chatId ? selectHasProtectedMessage(global, chatId, selectedMessageIds) : false;
const isForwardModalOpen = global.forwardMessages.isModalShown;
return { return {
isSchedule: messageListType === 'scheduled', isSchedule: messageListType === 'scheduled',
@ -185,6 +188,7 @@ export default memo(withGlobal<OwnProps>(
canDownloadMessages: canDownload, canDownloadMessages: canDownload,
selectedMessageIds, selectedMessageIds,
hasProtectedMessage, hasProtectedMessage,
isForwardModalOpen,
}; };
}, },
)(MessageSelectToolbar)); )(MessageSelectToolbar));