Spaces:
Running
Running
File size: 925 Bytes
8be02a3 ce7e38e c55d755 ce7e38e c70ad0c ce7e38e 8be02a3 9ea3b5e ce7e38e 7db2a6d ce7e38e 8be02a3 ce7e38e c70ad0c ce7e38e | 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 | import { useEffect,useState } from "react";
export default function ChatInput({ onSend, fileUploaded }) {
const [input, setInput] = useState("");
const handleSubmit = () => {
if (!input.trim() || fileUploaded) return;
onSend(input);
setInput("");
};
useEffect(() => {
if (!fileUploaded) setInput("");
}, [fileUploaded]);
// Disable input if no file uploaded
const isInputDisabled = fileUploaded;
const isButtonDisabled = fileUploaded || !input.trim();
return (
<div className="chat-input">
<textarea
placeholder="Paste error, ask DevMate..."
value={input}
onChange={(e) => setInput(e.target.value)}
disabled={isInputDisabled} // disable typing if no file
onKeyDown={(e) => e.key === "Enter" && !isButtonDisabled && handleSubmit()}
/>
<button onClick={handleSubmit} disabled={isButtonDisabled}>Send</button>
</div>
);
}
|