Reorders useEffect so that draft content is retained

This commit is contained in:
Josh Perez 2023-08-07 16:31:18 -04:00 committed by GitHub
parent 4455328312
commit 3ec235bc56
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -483,20 +483,6 @@ export function CompositionArea({
[inputApiRef, onPickEmoji]
);
const previousConversationId = usePrevious(conversationId, conversationId);
useEffect(() => {
if (conversationId === previousConversationId) {
return;
}
if (!draftText) {
inputApiRef.current?.setContents('');
return;
}
inputApiRef.current?.setContents(draftText, draftBodyRanges, true);
}, [conversationId, draftBodyRanges, draftText, previousConversationId]);
// We want to reset the state of Quill only if:
//
// - Our other device edits the message (edit history length would change)
@ -520,6 +506,20 @@ export function CompositionArea({
);
}, [draftBodyRanges, draftEditMessageBody, hasEditDraftChanged]);
const previousConversationId = usePrevious(conversationId, conversationId);
useEffect(() => {
if (conversationId === previousConversationId) {
return;
}
if (!draftText) {
inputApiRef.current?.setContents('');
return;
}
inputApiRef.current?.setContents(draftText, draftBodyRanges, true);
}, [conversationId, draftBodyRanges, draftText, previousConversationId]);
const handleToggleLarge = useCallback(() => {
setLarge(l => !l);
}, [setLarge]);