stream-chat-react
Version:
React components to create chat conversations or livestream style chat
23 lines (22 loc) • 857 B
JavaScript
import { useTextareaRef } from './useTextareaRef';
import { useSubmitHandler } from './useSubmitHandler';
import { usePasteHandler } from './usePasteHandler';
import { useMediaRecorder } from '../../MediaRecorder/hooks/useMediaRecorder';
export const useMessageInputControls = (props) => {
const { asyncMessagesMultiSendEnabled, audioRecordingConfig, audioRecordingEnabled } = props;
const { textareaRef } = useTextareaRef(props);
const { handleSubmit } = useSubmitHandler(props);
const recordingController = useMediaRecorder({
asyncMessagesMultiSendEnabled,
enabled: !!audioRecordingEnabled,
handleSubmit,
recordingConfig: audioRecordingConfig,
});
const { onPaste } = usePasteHandler();
return {
handleSubmit,
onPaste,
recordingController,
textareaRef,
};
};