"use client"; import { Button } from "@/components/ui/button"; import { AutosizeTextarea } from "@/components/ui/textarea"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from "@/components/ui/tooltip"; import { useChatContext } from "@/lib/store/ChatContext"; import { Mic, Paperclip, Send, Square, StopCircle } from "lucide-react"; import React, { useState } from "react"; interface MessageInputProps { onSendMessage: (content: string) => void; isLoading: boolean; userInputRef: React.LegacyRef; onCancel: () => void; } // Traditional component that takes props const MessageInput: React.FC = ({ onSendMessage, isLoading, userInputRef, onCancel }) => { const [message, setMessage] = useState(""); const handleMessageChange = (e: React.ChangeEvent) => { setMessage(e.target.value); }; const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); if (message.trim() && !isLoading) { onSendMessage(message); setMessage(""); } }; const handleKeyDown = (e: React.KeyboardEvent) => { if (e.key === "Enter" && !e.shiftKey) { e.preventDefault(); handleSubmit(e); } }; return (
Attach files (coming soon) Voice input (coming soon) {isLoading && onCancel ? ( ) : ( )}
); }; export default MessageInput;