diff --git a/fluxer_app/src/features/channel/components/ChannelTextarea.tsx b/fluxer_app/src/features/channel/components/ChannelTextarea.tsx
index bf9fc017a..f8810fca9 100644
--- a/fluxer_app/src/features/channel/components/ChannelTextarea.tsx
+++ b/fluxer_app/src/features/channel/components/ChannelTextarea.tsx
@@ -575,6 +575,10 @@ const ChannelTextareaContent = observer(
)),
);
+ return;
+ }
+ if (files.length > 0) {
+ textareaRef.current?.focus();
}
}, [canAttachFiles, channel.id, textareaInputDisabled, maxAttachments, uploadAttachments.length]);
const handleUploadMessageAsFile = useCallback(async () => {
@@ -599,6 +603,7 @@ const ChannelTextareaContent = observer(
}
setValue('');
DraftCommands.deleteDraft(channel.id);
+ textareaRef.current?.focus();
}, [textareaInputDisabled, canAttachFiles, value, channel.id, uploadAttachments.length, maxAttachments]);
useTextareaExpressionHandlers({
setValue,
diff --git a/fluxer_app/src/features/channel/components/UploadManager.tsx b/fluxer_app/src/features/channel/components/UploadManager.tsx
index 346791399..3ece2ce88 100644
--- a/fluxer_app/src/features/channel/components/UploadManager.tsx
+++ b/fluxer_app/src/features/channel/components/UploadManager.tsx
@@ -49,7 +49,9 @@ export const UploadManager = observer(({channel, canAttachFiles, canSendMessages
ModalCommands.popWithKey(UPLOAD_DROP_MODAL_KEY);
}, []);
const focusTextarea = useCallback(() => {
- ComponentDispatch.dispatch('FOCUS_TEXTAREA', {channelId: channel.id});
+ setTimeout(() => {
+ ComponentDispatch.dispatch('FOCUS_TEXTAREA', {channelId: channel.id});
+ }, 0);
}, [channel.id]);
const onDrop = useCallback(
async (files: Array, directUpload = false) => {