import { useState, KeyboardEvent } from 'react'; import { Input } from '@/components/ui/input'; import { Button } from '@/components/ui/button'; import { MessageSquarePlus, Loader2 } from 'lucide-react'; import { cn } from '@/lib/utils'; interface FollowUpInputProps { onSubmit: (query: string) => void; isLoading?: boolean; } export function FollowUpInput({ onSubmit, isLoading = false, }: FollowUpInputProps) { const [query, setQuery] = useState(''); const handleSubmit = () => { if (query.trim() && !isLoading) { onSubmit(query.trim()); setQuery(''); } }; const handleKeyDown = (e: KeyboardEvent) => { if (e.key === 'Enter') { e.preventDefault(); handleSubmit(); } }; return (
setQuery(e.target.value)} onKeyDown={handleKeyDown} placeholder="Ask a follow-up question..." className={cn( "transition-all duration-200", "focus-visible:ring-1 focus-visible:ring-primary", "placeholder:text-muted-foreground/70", "w-full" )} disabled={isLoading} />
); }