import { useState } from 'react'; import { motion } from 'motion/react'; import { Bot, User, Crown, Sparkles, MessageSquare } from 'lucide-react'; import { Button } from './ui/button'; import { FeedbackPopup } from './FeedbackPopup'; export interface MessageProps { content: string; isUser: boolean; timestamp: Date; isPlusResponse?: boolean; isUnivAiPlusMode?: boolean; } export function Message({ content, isUser, timestamp, isPlusResponse, isUnivAiPlusMode }: MessageProps) { const [showFeedback, setShowFeedback] = useState(false); return ( <> {isUser ? ( ) : isPlusResponse ? ( ) : isUnivAiPlusMode ? ( ) : ( )} {/* Premium indicator sparkle */} {isPlusResponse && ( )} {/* Premium response indicator - moved outside and above the message bubble */} {isPlusResponse && ( Premium Response )} {content} {timestamp.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })} {isPlusResponse && • Premium} {/* Feedback button for bot responses */} {!isUser && ( setShowFeedback(true)} className={`text-xs p-1 h-6 transition-all duration-300 opacity-60 hover:opacity-100 ${ isUnivAiPlusMode ? 'hover:bg-purple-100 text-purple-600 dark:hover:bg-purple-900/30 dark:text-purple-400' : 'hover:bg-red-100 text-red-600 dark:hover:bg-red-900/30 dark:text-red-400' }`} > )} {/* Feedback Popup */} setShowFeedback(false)} messageId={`msg-${timestamp.getTime()}`} isUnivAiPlusMode={isUnivAiPlusMode} /> > ); }
{content}