Spaces:
Running
Running
File size: 1,199 Bytes
36deb6e b7dce4c 36deb6e 9f5fa59 36deb6e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | import React, { useState } from 'react';
import { Send } from 'lucide-react';
const ChatInput = ({ onSendMessage, isLoading, placeholder = "Ask your advisors anything..." }) => {
const [inputMessage, setInputMessage] = useState('');
const handleSend = () => {
if (!inputMessage.trim() || isLoading) return;
onSendMessage(inputMessage);
setInputMessage('');
};
const handleKeyPress = (e) => {
if (e.key === 'Enter' && !e.shiftKey) {
e.preventDefault();
handleSend();
}
};
return (
<div className="input-area">
<div className="input-container">
<textarea
value={inputMessage}
onChange={(e) => setInputMessage(e.target.value)}
onKeyPress={handleKeyPress}
placeholder={placeholder}
className="message-input"
rows="2"
disabled={isLoading}
/>
<button
onClick={handleSend}
disabled={!inputMessage.trim() || isLoading}
className="send-button"
>
<Send className="send-icon" />
<span className="send-text">Send</span>
</button>
</div>
</div>
);
};
export default ChatInput; |