| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import { Button } from "@/components/ui/button";
- import { Input } from "@/components/ui/input";
- import { Send } from "lucide-react";
- interface ChatInputProps {
- inputMessage: string;
- setInputMessage: (message: string) => void;
- onSendMessage: () => void;
- isLimitReached: boolean;
- isLoading: boolean;
- }
- export const ChatInput = ({
- inputMessage,
- setInputMessage,
- onSendMessage,
- isLimitReached,
- isLoading,
- }: ChatInputProps) => {
- const handleKeyPress = (e: React.KeyboardEvent) => {
- if (e.key === "Enter" && !e.shiftKey) {
- e.preventDefault();
- onSendMessage();
- }
- };
- return (
- <div className="p-6 border-t border-border bg-muted">
- <div className="flex space-x-3">
- <Input
- value={inputMessage}
- onChange={(e) => setInputMessage(e.target.value)}
- onKeyPress={handleKeyPress}
- placeholder="Describe tu consulta médica aquí..."
- disabled={isLimitReached || isLoading}
- className="flex-1 rounded-xl"
- />
- <Button
- onClick={onSendMessage}
- disabled={!inputMessage.trim() || isLimitReached || isLoading}
- size="icon"
- className="rounded-xl"
- >
- <Send className="w-4 h-4" />
- </Button>
- </div>
- </div>
- );
- };
|