mirror of
https://github.com/tulir/gomuks.git
synced 2025-04-20 10:33:41 -05:00
fixup! web/timeline: render MSC4144 per-message profiles
Signed-off-by: Sumner Evans <me@sumnerevans.com>
This commit is contained in:
parent
02894a939b
commit
4ff73a0172
2 changed files with 12 additions and 3 deletions
|
@ -103,6 +103,15 @@ export const ReplyBody = ({
|
||||||
classNames.push("small")
|
classNames.push("small")
|
||||||
}
|
}
|
||||||
const perMessageSender = getPerMessageProfile(event)
|
const perMessageSender = getPerMessageProfile(event)
|
||||||
|
let renderMemberEvtContent = memberEvtContent
|
||||||
|
if (perMessageSender) {
|
||||||
|
renderMemberEvtContent = {
|
||||||
|
membership: "join",
|
||||||
|
displayname: perMessageSender.displayname ?? memberEvtContent?.displayname,
|
||||||
|
avatar_url: perMessageSender.avatar_url ?? memberEvtContent?.avatar_url,
|
||||||
|
avatar_file: perMessageSender.avatar_file ?? memberEvtContent?.avatar_file,
|
||||||
|
}
|
||||||
|
}
|
||||||
const userColorIndex = getUserColorIndex(perMessageSender?.id ?? event.sender)
|
const userColorIndex = getUserColorIndex(perMessageSender?.id ?? event.sender)
|
||||||
classNames.push(`sender-color-${userColorIndex}`)
|
classNames.push(`sender-color-${userColorIndex}`)
|
||||||
return <blockquote data-reply-to={event.event_id} className={classNames.join(" ")} onClick={onClickReply}>
|
return <blockquote data-reply-to={event.event_id} className={classNames.join(" ")} onClick={onClickReply}>
|
||||||
|
@ -115,7 +124,7 @@ export const ReplyBody = ({
|
||||||
<img
|
<img
|
||||||
className="small avatar"
|
className="small avatar"
|
||||||
loading="lazy"
|
loading="lazy"
|
||||||
src={getAvatarURL(perMessageSender?.id ?? event.sender, perMessageSender ?? memberEvtContent)}
|
src={getAvatarURL(perMessageSender?.id ?? event.sender, renderMemberEvtContent)}
|
||||||
alt=""
|
alt=""
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -123,7 +132,7 @@ export const ReplyBody = ({
|
||||||
className={`event-sender sender-color-${userColorIndex}`}
|
className={`event-sender sender-color-${userColorIndex}`}
|
||||||
title={perMessageSender ? perMessageSender.id : event.sender}
|
title={perMessageSender ? perMessageSender.id : event.sender}
|
||||||
>
|
>
|
||||||
{getDisplayname(event.sender, perMessageSender ?? memberEvtContent)}
|
{getDisplayname(event.sender, renderMemberEvtContent)}
|
||||||
</span>
|
</span>
|
||||||
{perMessageSender && <div className="per-message-event-sender">
|
{perMessageSender && <div className="per-message-event-sender">
|
||||||
<span className="via">via</span>
|
<span className="via">via</span>
|
||||||
|
|
|
@ -114,7 +114,6 @@ const TimelineEvent = ({ evt, prevEvt, disableMenu, smallReplies, isFocused }: T
|
||||||
}
|
}
|
||||||
const memberEvt = useRoomMember(client, roomCtx.store, evt.sender)
|
const memberEvt = useRoomMember(client, roomCtx.store, evt.sender)
|
||||||
const memberEvtContent = memberEvt?.content as MemberEventContent | undefined
|
const memberEvtContent = memberEvt?.content as MemberEventContent | undefined
|
||||||
let renderMemberEvtContent = memberEvtContent
|
|
||||||
const BodyType = getBodyType(evt)
|
const BodyType = getBodyType(evt)
|
||||||
const eventTS = new Date(evt.timestamp)
|
const eventTS = new Date(evt.timestamp)
|
||||||
const editEventTS = evt.last_edit ? new Date(evt.last_edit.timestamp) : null
|
const editEventTS = evt.last_edit ? new Date(evt.last_edit.timestamp) : null
|
||||||
|
@ -173,6 +172,7 @@ const TimelineEvent = ({ evt, prevEvt, disableMenu, smallReplies, isFocused }: T
|
||||||
}
|
}
|
||||||
const perMessageSender = getPerMessageProfile(evt)
|
const perMessageSender = getPerMessageProfile(evt)
|
||||||
const prevPerMessageSender = getPerMessageProfile(prevEvt)
|
const prevPerMessageSender = getPerMessageProfile(prevEvt)
|
||||||
|
let renderMemberEvtContent = memberEvtContent
|
||||||
if (perMessageSender) {
|
if (perMessageSender) {
|
||||||
renderMemberEvtContent = {
|
renderMemberEvtContent = {
|
||||||
membership: "join",
|
membership: "join",
|
||||||
|
|
Loading…
Add table
Reference in a new issue