"use client"; import React from "react"; import { cn } from "@/lib/utils"; import { User, Bot, Globe, Youtube, Copy, Check } from "lucide-react"; export interface ChatMsg { id: string; role: "user" | "assistant" | "system"; content: string; type?: "text" | "research" | "youtube"; researchData?: { answer: string; results: { title: string; url: string; content: string }[]; }; youtubeData?: { videos: { id: string; title: string; description: string; channel: string; thumbnail: string; url: string; }[]; }; isStreaming?: boolean; } interface ChatMessageProps { message: ChatMsg; accentColor: string; } export function ChatMessage({ message, accentColor }: ChatMessageProps) { const [copied, setCopied] = React.useState(false); const isUser = message.role === "user"; const handleCopy = () => { navigator.clipboard.writeText(message.content); setCopied(true); setTimeout(() => setCopied(false), 2000); }; return (
{message.researchData.answer}
)} {message.researchData.results.length > 0 && (