import markdownToHtml from "@/utils/markdownToHTML"; import type { Message } from "ai/react"; import { useMemo } from "react"; export function ChatMessageBubble(props: { message: Message; aiEmoji?: string; sources: any[]; }) { const colorClassName = props.message.role === "user" ? "bg-sky-600" : "bg-slate-50 text-black"; const alignmentClassName = props.message.role === "user" ? "ml-auto" : "mr-auto"; const prefix = props.message.role === "user" ? "🧑" : props.aiEmoji; const content = useMemo(() => { return markdownToHtml(props.message.content); }, [props.message.content]); return (
🔍 Sources:
{props.sources?.map((source, i) => (
{i + 1}. "{source.pageContent}"
{source.metadata?.loc?.lines !== undefined ? (
Lines {source.metadata?.loc?.lines?.from} to{" "}
{source.metadata?.loc?.lines?.to}
) : (
""
)}
))}
>
) : (
""
)}