CompositionArea: Don't unconditionally apply draft contents if empty

This commit is contained in:
Scott Nonnenberg 2023-04-17 13:50:29 -07:00 committed by GitHub
parent cdc68d1c34
commit f93b4235d5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 17 additions and 12 deletions

View file

@ -372,14 +372,23 @@ export function CompositionArea({
messageCompositionId,
messageCompositionId
);
const previousSendCounter = usePrevious(sendCounter, sendCounter);
useEffect(() => {
if (!inputApiRef.current) {
return;
}
if (previousMessageCompositionId !== messageCompositionId) {
if (
previousMessageCompositionId !== messageCompositionId ||
previousSendCounter !== sendCounter
) {
inputApiRef.current.reset();
}
}, [messageCompositionId, previousMessageCompositionId]);
}, [
messageCompositionId,
sendCounter,
previousMessageCompositionId,
previousSendCounter,
]);
const insertEmoji = useCallback(
(e: EmojiPickDataType) => {
@ -393,12 +402,12 @@ export function CompositionArea({
const previousConversationId = usePrevious(conversationId, conversationId);
useEffect(() => {
if (!draftText) {
inputApiRef.current?.setContents('');
if (conversationId === previousConversationId) {
return;
}
if (conversationId === previousConversationId) {
if (!draftText) {
inputApiRef.current?.setContents('');
return;
}