import { ChatMessageUser } from "@app/chat/components/messages/user"; import { useDecryptMessage } from "@app/chat/hooks/useDecryptMessage"; import { MentionNote } from "@app/space/components/notes/mentions/note"; import { ImagePreview } from "@app/space/components/notes/preview/image"; import { VideoPreview } from "@app/space/components/notes/preview/video"; import { noteParser } from "@utils/parser"; import { memo } from "react"; export const ChatMessageItem = memo(function ChatMessageItem({ data, userPubkey, userPrivkey, }: { data: any; userPubkey: string; userPrivkey: string; }) { const decryptedContent = useDecryptMessage(data, userPubkey, userPrivkey); // if we have decrypted content, use it instead of the encrypted content if (decryptedContent) { data["content"] = decryptedContent; } // parse the note content const content = noteParser(data); return (
{content.parsed || ""}
{Array.isArray(content.images) && content.images.length ? ( ) : ( <> )} {Array.isArray(content.videos) && content.videos.length ? ( ) : ( <> )} {Array.isArray(content.notes) && content.notes.length ? ( content.notes.map((note: string) => ( )) ) : ( <> )}
); });