Skip to content

Commit 58854a4

Browse files
committed
fix: retrieve draft for on legacy thread opening
1 parent 80f908c commit 58854a4

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

src/components/MessageInput/hooks/useMessageInputState.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
import type React from 'react';
1+
import { useEffect } from 'react';
2+
import { useMessageComposer } from './messageComposer/useMessageComposer';
23
import { useMessageInputText } from './useMessageInputText';
34
import { useSubmitHandler } from './useSubmitHandler';
45
import { usePasteHandler } from './usePasteHandler';
56
import { useMediaRecorder } from '../../MediaRecorder/hooks/useMediaRecorder';
7+
import type React from 'react';
68
import type { UpdatedMessage } from 'stream-chat';
79
import type { RecordingController } from '../../MediaRecorder/hooks/useMediaRecorder';
810
import type { MessageInputProps } from '../MessageInput';
@@ -22,6 +24,19 @@ export const useMessageInputState = (props: MessageInputProps): MessageInputHook
2224
const { asyncMessagesMultiSendEnabled, audioRecordingConfig, audioRecordingEnabled } =
2325
props;
2426

27+
const messageComposer = useMessageComposer();
28+
29+
useEffect(() => {
30+
const threadId = messageComposer.threadId;
31+
if (!threadId || !messageComposer.channel || !messageComposer.compositionIsEmpty)
32+
return;
33+
messageComposer.channel.getDraft({ parent_id: threadId }).then(({ draft }) => {
34+
if (draft) {
35+
messageComposer.initState({ composition: draft });
36+
}
37+
});
38+
}, [messageComposer]);
39+
2540
const { insertText, textareaRef } = useMessageInputText(props);
2641

2742
const { handleSubmit } = useSubmitHandler(props);

0 commit comments

Comments
 (0)