import React from "react"; import { displayDate } from "@/_utils/datetime"; import { TextCode } from "../TextCode"; import { getMessageCode } from "@/_utils/message"; import Image from "next/image"; import { MessageSenderType } from "@/_models/ChatMessage"; import LoadingIndicator from "../LoadingIndicator"; type Props = { avatarUrl: string; senderName: string; createdAt: number; senderType: MessageSenderType; text?: string; }; const renderMessageCode = (text: string) => { return getMessageCode(text).map((item, i) => (

{item.text}

{item.code.trim().length > 0 && }
)); }; const SimpleTextMessage: React.FC = ({ senderName, createdAt, senderType, avatarUrl = "", text = "", }) => { const backgroundColor = senderType === MessageSenderType.User ? "" : "bg-gray-100"; return (
{senderName}
{displayDate(createdAt)}
{text === "" ? ( ) : text.includes("```") ? ( renderMessageCode(text) ) : ( {text} )}
); }; export default React.memo(SimpleTextMessage);