)}
{roomMessages.map((msg, i) => {
const mine = msg.from === localPeer?.id
const alias = aliasFor(String(msg.from))
const ts = formatTs(msg.ts)
const mid = msg.mid ?? ''
const msgReactions = mid ? reactions[mid] : undefined
const hasReactions = msgReactions && Object.keys(msgReactions).length > 0
return (
{i === dividerIdx && dividerIdx > 0 && (
earlier messages
)}
{ts}
{alias}
{renderText(msg.text)}
{mid && (
)}
{pickerMid === mid && (
e.stopPropagation()}>
{EMOJI_SET.map(emoji => (
))}
)}
{hasReactions && (
{Object.entries(msgReactions!).map(([emoji, fromIds]) => {
const iMine = fromIds.includes(localPeer?.id ?? '')
return (
)
})}
)}