diff --git a/client/src/components/Main/TextChat.jsx b/client/src/components/Main/TextChat.jsx index 41c9d35b5c..12efc7c123 100644 --- a/client/src/components/Main/TextChat.jsx +++ b/client/src/components/Main/TextChat.jsx @@ -1,4 +1,4 @@ -import React, { useEffect, useState } from 'react'; +import React, { useEffect, useRef, useState } from 'react'; import { SSE } from '~/utils/sse'; import SubmitButton from './SubmitButton'; import Regenerate from './Regenerate'; @@ -14,6 +14,7 @@ import { setText } from '~/store/textSlice'; export default function TextChat({ messages }) { const [errorMessage, setErrorMessage] = useState(''); + const inputRef = useRef(null) const dispatch = useDispatch(); const convo = useSelector((state) => state.convo); const { initial } = useSelector((state) => state.models); @@ -22,6 +23,11 @@ export default function TextChat({ messages }) { const { text } = useSelector((state) => state.text); const { error } = convo; + // auto focus to input, when enter a conversation. + useEffect(() => { + inputRef.current?.focus(); + }, [convo?.conversationId, ]) + const messageHandler = (data, currentState) => { const { messages, currentMsg, sender } = currentState; dispatch(setMessages([...messages, currentMsg, { sender, text: data }])); @@ -282,6 +288,8 @@ export default function TextChat({ messages }) {