canHealUI / src /components /chat /ChatInput.tsx
gpt-engineer-app[bot]
feat: Design chatbot UI
fee5554
import { useState } from "react";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
import { Send } from "lucide-react";
interface ChatInputProps {
onSendMessage: (message: string) => void;
disabled?: boolean;
}
const ChatInput = ({ onSendMessage, disabled = false }: ChatInputProps) => {
const [message, setMessage] = useState("");
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault();
if (message.trim() && !disabled) {
onSendMessage(message.trim());
setMessage("");
}
};
return (
<div className="bg-header-bg border-t border-header-border p-4 input-shadow">
<form onSubmit={handleSubmit} className="flex gap-2">
<Input
value={message}
onChange={(e) => setMessage(e.target.value)}
placeholder="Type your message..."
disabled={disabled}
className="flex-1 bg-input-bg border-input-border focus:border-input-focus-border text-sm py-3 px-4 rounded-xl"
/>
<Button
type="submit"
disabled={!message.trim() || disabled}
className="send-button-gradient text-send-button-fg hover:opacity-90 transition-opacity rounded-xl px-4 py-3 min-w-[44px]"
>
<Send className="w-4 h-4" />
</Button>
</form>
</div>
);
};
export default ChatInput;