| import React, { useState } from 'react'; | |
| import axios from 'axios'; | |
| function Chat() { | |
| const [messages, setMessages] = useState([]); | |
| const [currentMessage, setCurrentMessage] = useState(''); | |
| const handleSubmit = async (e) => { | |
| e.preventDefault(); | |
| setMessages([...messages, { type: 'user', content: currentMessage }]); | |
| try { | |
| const response = await axios.post('http://0.0.0.0:8000/generate-text/', { query: currentMessage }); | |
| setMessages(prevMessages => [...prevMessages, { type: 'bot', content: response.data.response }]); | |
| } catch (error) { | |
| console.error("Error while querying:", error); | |
| } | |
| setCurrentMessage(''); | |
| }; | |
| return ( | |
| <div> | |
| <div> | |
| {messages.map((message, idx) => ( | |
| <div key={idx} className={message.type}> | |
| {message.content} | |
| </div> | |
| ))} | |
| </div> | |
| <form onSubmit={handleSubmit}> | |
| <input | |
| type="text" | |
| value={currentMessage} | |
| onChange={(e) => setCurrentMessage(e.target.value)} | |
| placeholder="Ask something..." | |
| /> | |
| <button type="submit">Send</button> | |
| </form> | |
| </div> | |
| ); | |
| } | |
| export default Chat; | |