From 16838bf012558267b41fd7b70150e3836e4244d4 Mon Sep 17 00:00:00 2001 From: Alexander Zinchuk Date: Fri, 3 Mar 2023 14:30:45 +0100 Subject: [PATCH] Composer: Fix composer blocked if editing message (#2732) --- src/components/middle/composer/Composer.tsx | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/components/middle/composer/Composer.tsx b/src/components/middle/composer/Composer.tsx index 5b7502c71..c07531d1b 100644 --- a/src/components/middle/composer/Composer.tsx +++ b/src/components/middle/composer/Composer.tsx @@ -361,6 +361,8 @@ const Composer: FC = ({ canSendVoices, canSendPlainText, canSendAudios, canSendVideos, canSendPhotos, canSendDocuments, } = useMemo(() => getAllowedAttachmentOptions(chat, isChatWithBot), [chat, isChatWithBot]); + const isComposerBlocked = !canSendPlainText && !editingMessage; + const { shouldSuggestCompression, shouldForceCompression, @@ -501,7 +503,7 @@ const Composer: FC = ({ ); const insertHtmlAndUpdateCursor = useCallback((newHtml: string, inputId: string = EDITABLE_INPUT_ID) => { - if (inputId === EDITABLE_INPUT_ID && !canSendPlainText) return; + if (inputId === EDITABLE_INPUT_ID && isComposerBlocked) return; const selection = window.getSelection()!; let messageInput: HTMLDivElement; if (inputId === EDITABLE_INPUT_ID) { @@ -525,7 +527,7 @@ const Composer: FC = ({ requestAnimationFrame(() => { focusEditableElement(messageInput); }); - }, [canSendPlainText, getHtml, setHtml]); + }, [isComposerBlocked, getHtml, setHtml]); const insertFormattedTextAndUpdateCursor = useCallback(( text: ApiFormattedText, inputId: string = EDITABLE_INPUT_ID, @@ -1071,10 +1073,10 @@ const Composer: FC = ({ }, [insertHtmlAndUpdateCursor]); useEffect(() => { - if (canSendPlainText) return; + if (!isComposerBlocked) return; setHtml(''); - }, [canSendPlainText, setHtml, attachments]); + }, [isComposerBlocked, setHtml, attachments]); const insertTextAndUpdateCursorAttachmentModal = useCallback((text: string) => { insertTextAndUpdateCursor(text, EDITABLE_INPUT_MODAL_ID); @@ -1355,7 +1357,7 @@ const Composer: FC = ({ /> )} - {(canSendPlainText || canSendGifs || canSendStickers) && ( + {(!isComposerBlocked || canSendGifs || canSendStickers) && ( = ({ closeBotCommandMenu={closeBotCommandMenu} closeSendAsMenu={closeSendAsMenu} isSymbolMenuForced={isSymbolMenuForced} - canSendPlainText={canSendPlainText} + canSendPlainText={!isComposerBlocked} /> )} = ({ id="message-input-text" editableInputId={EDITABLE_INPUT_ID} chatId={chatId} - canSendPlainText={canSendPlainText} + canSendPlainText={!isComposerBlocked} threadId={threadId} isActive={!hasAttachments} getHtml={getHtml} placeholder={ activeVoiceRecording && windowWidth <= SCREEN_WIDTH_TO_HIDE_PLACEHOLDER ? '' - : (canSendPlainText + : (!isComposerBlocked ? (botKeyboardPlaceholder || lang('Message')) : lang('Chat.PlaceholderTextNotAllowed')) }