Link to member-panel from avatar

Signed-off-by: RMidhunSuresh <rmidhunsuresh@gmail.com>
This commit is contained in:
RMidhunSuresh 2021-08-06 20:51:39 +05:30
parent 7d9ccb9a3a
commit b97b9da14a
2 changed files with 6 additions and 1 deletions

View file

@ -41,6 +41,10 @@ export class BaseMessageTile extends SimpleTile {
return this._entry.sender; return this._entry.sender;
} }
get memberPanelLink() {
return `${this.urlCreator.urlUntilSegment("room")}/member/${this.sender}`;
}
// Avatar view model contract // Avatar view model contract
get avatarColorNumber() { get avatarColorNumber() {
return getIdentifierColorNumber(this._entry.sender); return getIdentifierColorNumber(this._entry.sender);

View file

@ -42,6 +42,7 @@ export class BaseMessageView extends TemplateView {
// should be after body as it is overlayed on top // should be after body as it is overlayed on top
t.button({className: "Timeline_messageOptions"}, "⋯"), t.button({className: "Timeline_messageOptions"}, "⋯"),
]); ]);
const avatar = t.a({href: vm.memberPanelLink}, [renderStaticAvatar(vm, 30, "Timeline_messageAvatar")]);
// given that there can be many tiles, we don't add // given that there can be many tiles, we don't add
// unneeded DOM nodes in case of a continuation, and we add it // unneeded DOM nodes in case of a continuation, and we add it
// with a side-effect binding to not have to create sub views, // with a side-effect binding to not have to create sub views,
@ -52,7 +53,7 @@ export class BaseMessageView extends TemplateView {
li.removeChild(li.querySelector(".Timeline_messageAvatar")); li.removeChild(li.querySelector(".Timeline_messageAvatar"));
li.removeChild(li.querySelector(".Timeline_messageSender")); li.removeChild(li.querySelector(".Timeline_messageSender"));
} else if (!isContinuation) { } else if (!isContinuation) {
li.insertBefore(renderStaticAvatar(vm, 30, "Timeline_messageAvatar"), li.firstChild); li.insertBefore(avatar, li.firstChild);
li.insertBefore(tag.div({className: `Timeline_messageSender usercolor${vm.avatarColorNumber}`}, vm.displayName), li.firstChild); li.insertBefore(tag.div({className: `Timeline_messageSender usercolor${vm.avatarColorNumber}`}, vm.displayName), li.firstChild);
} }
}); });