| | import { useState } from 'react' |
| | import '../styles/chatinput.css' |
| |
|
| | function ChatInput({ onSend }: { onSend: (msg: string) => void }) { |
| | const [input, setInput] = useState('') |
| |
|
| | const handleKey = (e: React.KeyboardEvent<HTMLInputElement>) => { |
| | if (e.key === 'Enter' && input.trim()) { |
| | onSend(input) |
| | setInput('') |
| | } |
| | } |
| |
|
| | return ( |
| | <div className="chat-input-wrapper"> |
| | <input |
| | className="chat-input" |
| | type="text" |
| | placeholder="Ask something..." |
| | value={input} |
| | onChange={(e) => setInput(e.target.value)} |
| | onKeyDown={handleKey} |
| | /> |
| | <button className="send-button" onClick={handleSend}> |
| | Send |
| | </button> |
| | </div> |
| | ) |
| |
|
| | function handleSend() { |
| | if (input.trim()) { |
| | onSend(input) |
| | setInput('') |
| | } |
| | } |
| | } |
| |
|
| | export default ChatInput |