import SimpleControlNetMessage from "../SimpleControlNetMessage"; import SimpleImageMessage from "../SimpleImageMessage"; import SimpleTextMessage from "../SimpleTextMessage"; import { ChatMessage, MessageType } from "@/_models/ChatMessage"; import StreamTextMessage from "../StreamTextMessage"; import { useAtomValue } from "jotai"; import { currentStreamingMessageAtom } from "@/_helpers/atoms/ChatMessage.atom"; export default function renderChatMessage({ id, messageType, senderAvatarUrl, senderName, createdAt, imageUrls, htmlText, text, }: ChatMessage): React.ReactNode { // eslint-disable-next-line react-hooks/rules-of-hooks const message = useAtomValue(currentStreamingMessageAtom); switch (messageType) { case MessageType.ImageWithText: return ( ); case MessageType.Image: return ( ); case MessageType.Text: return id !== message?.id ? ( 0 ? htmlText : text} /> ) : ( 0 ? htmlText : text} /> ); default: return null; } }