@@ -24,15 +24,22 @@ export default function Chat() {
24
24
inputRef,
25
25
formRef,
26
26
initialThreadMessage,
27
- setInitialThreadMessage
27
+ setInitialThreadMessage,
28
+ setChatStarted,
29
+ chatStarted : chatHasStarted ,
30
+
28
31
29
32
} = useChatState ( ) ;
30
33
31
34
// Initialize ChatManager only once using useEffect
32
- const [ chatManager , setChatManager ] = useState < ChatManager | null > ( null ) ;
33
-
34
- // Add a state to track loading status of message sending
35
- const [ isMessageLoading , setIsMessageLoading ] = useState ( false ) ;
35
+ // Initialize ChatManager only once using useEffect
36
+ const [ chatManager , setChatManager ] = useState < ChatManager | null > ( null ) ;
37
+
38
+ // Set assistantId from environment variable
39
+ const [ assistantId , setAssistantId ] = useState < string | null > ( process . env . REACT_APP_ASSISTANT_ID || '' ) ;
40
+
41
+ // Add a state to track loading status of message sending
42
+ const [ isMessageLoading , setIsMessageLoading ] = useState ( false ) ;
36
43
37
44
useEffect ( ( ) => {
38
45
const chatManagerInstance = ChatManager . getInstance ( setChatMessages , setStatusMessage ) ;
@@ -41,7 +48,14 @@ export default function Chat() {
41
48
setIsMessageLoading ( chatManagerInstance . getChatState ( ) . isLoading ) ;
42
49
} , [ setChatMessages , setStatusMessage ] ) ;
43
50
44
- // Update chat state and handle assistant response reception
51
+ useEffect ( ( ) => {
52
+ if ( assistantId && chatManager ) {
53
+ console . log ( 'Assistant ID found:' , assistantId ) ;
54
+ chatManager . startAssistantWithId ( assistantId , initialThreadMessage ) ;
55
+ } else {
56
+ console . warn ( 'Assistant ID not found' ) ;
57
+ }
58
+ } , [ assistantId , chatManager , initialThreadMessage ] ) ;
45
59
46
60
47
61
const startChatAssistant = async ( ) => {
@@ -51,6 +65,7 @@ export default function Chat() {
51
65
try {
52
66
await chatManager . startAssistant ( { assistantName, assistantModel, assistantDescription } , file , initialThreadMessage ) ;
53
67
console . log ( 'Assistant started:' , chatManager . getChatState ( ) ) ;
68
+ setChatStarted ( true ) ;
54
69
} catch ( error ) {
55
70
console . error ( 'Error starting assistant:' , error ) ;
56
71
if ( error instanceof Error ) setStatusMessage ( `Error: ${ error . message } ` ) ;
@@ -89,7 +104,7 @@ export default function Chat() {
89
104
return (
90
105
< main className = "flex flex-col items-center justify-between pb-40 bg-space-grey-light" >
91
106
< LinkBar />
92
- { chatMessages . length > 0 ? (
107
+ { chatHasStarted || assistantId ? (
93
108
< MessageList chatMessages = { chatMessages } />
94
109
) : (
95
110
< WelcomeForm { ...{ assistantName, setAssistantName, assistantDescription, setAssistantDescription, assistantModel, setAssistantModel, file, handleFileChange, startChatAssistant, isButtonDisabled, isStartLoading, statusMessage} } />
0 commit comments