diff --git a/chat/src/components/message-input.tsx b/chat/src/components/message-input.tsx index 0748deec..0193f40c 100644 --- a/chat/src/components/message-input.tsx +++ b/chat/src/components/message-input.tsx @@ -112,6 +112,18 @@ export default function MessageInput({ return () => clearInterval(interval); }, [sentChars]); + // Autofocus on the message input box on user's turn + useEffect(() => { + if ( + serverStatus === "stable" && + !disabled && + inputMode === "text" && + textareaRef.current + ) { + textareaRef.current.focus(); + } + }, [serverStatus, disabled, inputMode]); + const addSentChar = (char: string) => { const newChar: SentChar = { char, @@ -332,20 +344,20 @@ export default function MessageInput({ ); } -function Char({ char }: { char: string }) { +function Char({char}: { char: string }) { switch (char) { case "ArrowUp": - return ; + return ; case "ArrowDown": - return ; + return ; case "ArrowRight": - return ; + return ; case "ArrowLeft": - return ; + return ; case "⏎": - return ; + return ; case "Backspace": - return ; + return ; default: return char; }