@@ -5,22 +5,30 @@ import ChatBotUserAvatar from '../assets/images/chatbot-user.png';
55import ChatBotAvatar from '../assets/images/chatbot-ai.png' ;
66import { ChatbotProps } from '../types' ;
77import { useCredentials } from '../context/UserCredentials' ;
8- import { useFileContext } from '../context/UsersFiles' ;
98import chatBotAPI from '../services/QnaAPI' ;
9+ import { v4 as uuidv4 } from 'uuid' ;
1010
1111export default function Chatbot ( props : ChatbotProps ) {
1212 const { messages : listMessages , setMessages : setListMessages } = props ;
1313 const [ inputMessage , setInputMessage ] = useState ( '' ) ;
1414 const formattedTextStyle = { color : 'rgb(var(--theme-palette-discovery-bg-strong))' } ;
1515 const [ loading , setLoading ] = useState < boolean > ( false ) ;
1616 const { userCredentials } = useCredentials ( ) ;
17- const { model } = useFileContext ( ) ;
1817 const messagesEndRef = useRef < HTMLDivElement > ( null ) ;
18+ const [ sessionId , setSessionId ] = useState < string > ( sessionStorage . getItem ( 'session_id' ) ?? '' ) ;
1919
2020 const handleInputChange = ( e : React . ChangeEvent < HTMLInputElement > ) => {
2121 setInputMessage ( e . target . value ) ;
2222 } ;
2323
24+ useEffect ( ( ) => {
25+ if ( ! sessionStorage . getItem ( 'session_id' ) ) {
26+ const id = uuidv4 ( ) ;
27+ setSessionId ( id ) ;
28+ sessionStorage . setItem ( 'session_id' , id ) ;
29+ }
30+ } , [ ] ) ;
31+
2432 const simulateTypingEffect = ( responseText : string , index = 0 ) => {
2533 if ( index < responseText . length ) {
2634 const nextIndex = index + 1 ;
@@ -72,7 +80,7 @@ export default function Chatbot(props: ChatbotProps) {
7280 setLoading ( true ) ;
7381 setInputMessage ( '' ) ;
7482 simulateTypingEffect ( ' ' ) ;
75- const chatresponse = await chatBotAPI ( userCredentials , model , inputMessage ) ;
83+ const chatresponse = await chatBotAPI ( userCredentials , inputMessage , sessionId ) ;
7684 chatbotReply = chatresponse ?. data ?. message ;
7785 simulateTypingEffect ( chatbotReply ) ;
7886 setLoading ( false ) ;
0 commit comments