"use client"; import { Button } from "@mdxui/primitives/button"; import { cn } from "@mdxui/primitives/lib/utils"; import { Textarea } from "@mdxui/primitives/textarea"; import { Send } from "lucide-react"; import { useEffect, useRef, useState } from "react"; import { useChatContext } from "./chat-provider"; export function ChatInput() { const { sendMessage, isTyping, config } = useChatContext(); const [value, setValue] = useState(""); const textareaRef = useRef(null); // Auto-resize textarea useEffect(() => { const textarea = textareaRef.current; if (textarea) { textarea.style.height = "auto"; textarea.style.height = `${Math.min(textarea.scrollHeight, 120)}px`; } }, [value]); const handleSubmit = () => { if (!value.trim() || isTyping) return; sendMessage(value.trim()); setValue(""); }; const handleKeyDown = (e: React.KeyboardEvent) => { if (e.key === "Enter" && !e.shiftKey) { e.preventDefault(); handleSubmit(); } }; return (