@@ -28,20 +28,20 @@ export default function App() {
2828 } = useApi ( ) ;
2929
3030 const [ typingUsers , setTypingUsers ] = useState < ChatTypes . User [ ] > ( [ ] ) ;
31- const [ isProcessing , setIsProcessing ] = useState < boolean > ( false ) ;
31+ const [ isDisabled , setIsDisabled ] = useState < boolean > ( false ) ;
3232 const [ inputFieldText , setInputFieldText ] = useState < string > ( '' ) ;
3333 const [ suggestionList , setSuggestionList ] = useState ( suggestionItems ) ;
3434 const sendImmediately = useRef < boolean > ( false ) ;
3535 const hideAfterUse = useRef < boolean > ( false ) ;
3636
3737 const processAIRequest = useCallback ( async ( message : ChatTypes . Message ) : Promise < void > => {
38- setIsProcessing ( true ) ;
38+ setIsDisabled ( true ) ;
3939 setTypingUsers ( [ assistant ] ) ;
4040
4141 await fetchAIResponse ( message ) ;
4242
4343 setTypingUsers ( [ ] ) ;
44- setIsProcessing ( false ) ;
44+ setIsDisabled ( false ) ;
4545 } , [ fetchAIResponse ] ) ;
4646
4747 const onSuggestionClick = useCallback ( ( e : { itemData ?: { text : string ; prompt : string } } ) => {
@@ -64,9 +64,10 @@ export default function App() {
6464 }
6565 } , [ alerts . length , insertMessage , processAIRequest ] ) ;
6666
67- const suggestions = { items : suggestionList , onItemClick : onSuggestionClick } ;
67+ const suggestions = { items : suggestionList , onItemClick : onSuggestionClick , disabled : isDisabled } ;
6868
6969 const onMessageEntered = useCallback ( async ( { message, event } : ChatTypes . MessageEnteredEvent ) : Promise < void > => {
70+ if ( isDisabled ) return ;
7071 insertMessage ( { id : Date . now ( ) , ...message } ) ;
7172
7273 if ( ! alerts . length ) {
@@ -76,7 +77,7 @@ export default function App() {
7677
7778 ( event ?. target as HTMLElement ) . focus ( ) ;
7879 }
79- } , [ insertMessage , alerts . length , processAIRequest ] ) ;
80+ } , [ isDisabled , insertMessage , alerts . length , processAIRequest ] ) ;
8081
8182 const onInputFieldTextChanged = useCallback ( ( e : ChatTypes . InputFieldTextChangedEvent ) => {
8283 setInputFieldText ( e ?. value ?? '' ) ;
@@ -87,7 +88,7 @@ export default function App() {
8788 return (
8889 < >
8990 < Chat
90- className = { isProcessing ? CHAT_DISABLED_CLASS : '' }
91+ className = { isDisabled ? CHAT_DISABLED_CLASS : '' }
9192 dataSource = { dataSource }
9293 reloadOnChange = { false }
9394 showAvatar = { false }
0 commit comments