import { AnimatePresence, cubicBezier, motion } from 'framer-motion'; interface SendButtonProps { show: boolean; simulation: boolean; isStreaming?: boolean; disabled?: boolean; onClick?: (event: React.MouseEvent) => void; onImagesSelected?: (images: File[]) => void; } const customEasingFn = cubicBezier(0.4, 0, 0.2, 1); export const SendButton = ({ show, simulation, isStreaming, disabled, onClick }: SendButtonProps) => { const className = simulation ? "absolute flex justify-center items-center top-[18px] right-[60px] p-1 bg-accent-500 hover:brightness-94 color-white rounded-md w-[34px] h-[34px] transition-theme disabled:opacity-50 disabled:cursor-not-allowed" : "absolute flex justify-center items-center top-[18px] right-[22px] p-1 bg-accent-500 hover:brightness-94 color-white rounded-md w-[34px] h-[34px] transition-theme disabled:opacity-50 disabled:cursor-not-allowed"; // Determine tooltip text based on button state const tooltipText = simulation ? "Start Recording" : isStreaming ? "Stop Generation" : "Send Message"; return ( {show ? ( { event.preventDefault(); if (!disabled) { onClick?.(event); } }} >
{simulation ?
: !isStreaming ?
:
}
) : null}
); };