Composer: Preserve input when sending sticker (#1297)
This commit is contained in:
parent
65b5284e22
commit
ad647b50a0
@ -392,8 +392,10 @@ const Composer: FC<OwnProps & StateProps & DispatchProps> = ({
|
|||||||
setHtml(deleteLastCharacterOutsideSelection(htmlRef.current!));
|
setHtml(deleteLastCharacterOutsideSelection(htmlRef.current!));
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const resetComposer = useCallback(() => {
|
const resetComposer = useCallback((shouldPreserveInput = false) => {
|
||||||
setHtml('');
|
if (!shouldPreserveInput) {
|
||||||
|
setHtml('');
|
||||||
|
}
|
||||||
setAttachments([]);
|
setAttachments([]);
|
||||||
closeStickerTooltip();
|
closeStickerTooltip();
|
||||||
closeCalendar();
|
closeCalendar();
|
||||||
@ -530,7 +532,7 @@ const Composer: FC<OwnProps & StateProps & DispatchProps> = ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Wait until message animation starts
|
// Wait until message animation starts
|
||||||
requestAnimationFrame(resetComposer);
|
requestAnimationFrame(() => { resetComposer(); });
|
||||||
}, [
|
}, [
|
||||||
connectionState, attachments, activeVoiceRecording, isForwarding, serverTimeOffset, clearDraft, chatId,
|
connectionState, attachments, activeVoiceRecording, isForwarding, serverTimeOffset, clearDraft, chatId,
|
||||||
resetComposer, stopRecordingVoice, showDialog, slowMode, isAdmin, sendMessage, forwardMessages, lang,
|
resetComposer, stopRecordingVoice, showDialog, slowMode, isAdmin, sendMessage, forwardMessages, lang,
|
||||||
@ -547,7 +549,7 @@ const Composer: FC<OwnProps & StateProps & DispatchProps> = ({
|
|||||||
openCalendar();
|
openCalendar();
|
||||||
} else {
|
} else {
|
||||||
sendMessage({ sticker });
|
sendMessage({ sticker });
|
||||||
requestAnimationFrame(resetComposer);
|
requestAnimationFrame(() => { resetComposer(true); });
|
||||||
}
|
}
|
||||||
}, [shouldSchedule, openCalendar, sendMessage, resetComposer]);
|
}, [shouldSchedule, openCalendar, sendMessage, resetComposer]);
|
||||||
|
|
||||||
@ -557,7 +559,7 @@ const Composer: FC<OwnProps & StateProps & DispatchProps> = ({
|
|||||||
openCalendar();
|
openCalendar();
|
||||||
} else {
|
} else {
|
||||||
sendMessage({ gif });
|
sendMessage({ gif });
|
||||||
requestAnimationFrame(resetComposer);
|
requestAnimationFrame(() => { resetComposer(true); });
|
||||||
}
|
}
|
||||||
}, [shouldSchedule, openCalendar, sendMessage, resetComposer]);
|
}, [shouldSchedule, openCalendar, sendMessage, resetComposer]);
|
||||||
|
|
||||||
@ -577,7 +579,7 @@ const Composer: FC<OwnProps & StateProps & DispatchProps> = ({
|
|||||||
}
|
}
|
||||||
|
|
||||||
clearDraft({ chatId, localOnly: true });
|
clearDraft({ chatId, localOnly: true });
|
||||||
requestAnimationFrame(resetComposer);
|
requestAnimationFrame(() => { resetComposer(); });
|
||||||
}, [chatId, clearDraft, connectionState, resetComposer, sendInlineBotResult]);
|
}, [chatId, clearDraft, connectionState, resetComposer, sendInlineBotResult]);
|
||||||
|
|
||||||
const handlePollSend = useCallback((poll: ApiNewPoll) => {
|
const handlePollSend = useCallback((poll: ApiNewPoll) => {
|
||||||
@ -614,7 +616,7 @@ const Composer: FC<OwnProps & StateProps & DispatchProps> = ({
|
|||||||
...scheduledMessageArgs,
|
...scheduledMessageArgs,
|
||||||
scheduledAt,
|
scheduledAt,
|
||||||
});
|
});
|
||||||
requestAnimationFrame(resetComposer);
|
requestAnimationFrame(() => { resetComposer(); });
|
||||||
}
|
}
|
||||||
closeCalendar();
|
closeCalendar();
|
||||||
}, [closeCalendar, handleSend, resetComposer, scheduledMessageArgs, sendMessage, serverTimeOffset]);
|
}, [closeCalendar, handleSend, resetComposer, scheduledMessageArgs, sendMessage, serverTimeOffset]);
|
||||||
@ -684,7 +686,7 @@ const Composer: FC<OwnProps & StateProps & DispatchProps> = ({
|
|||||||
openCalendar();
|
openCalendar();
|
||||||
} else {
|
} else {
|
||||||
handleSend();
|
handleSend();
|
||||||
requestAnimationFrame(resetComposer);
|
requestAnimationFrame(() => { resetComposer(); });
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MainButtonState.Record:
|
case MainButtonState.Record:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user