import { MessageUser } from '@components/chats/messageUser'; import { nip04 } from 'nostr-tools'; import { memo, useCallback, useEffect, useMemo, useState } from 'react'; const MessageListItem = ({ data, activeAccountPubkey, activeAccountPrivkey, }: { data: any; activeAccountPubkey: string; activeAccountPrivkey: string; }) => { const [content, setContent] = useState(''); const sender = useMemo(() => { const pTag = data.tags.find(([k, v]) => k === 'p' && v && v !== '')[1]; if (pTag === activeAccountPubkey) { return data.pubkey; } else { return pTag; } }, [data.pubkey, data.tags, activeAccountPubkey]); const decryptContent = useCallback(async () => { const result = await nip04.decrypt(activeAccountPrivkey, sender, data.content); setContent(result); }, [data.content, activeAccountPrivkey, sender]); useEffect(() => { decryptContent().catch(console.error); }, [decryptContent]); return (