diff --git a/apps/web/src/components/viewmodels/right_panel/user_info/UserInfoHeaderViewModel.tsx b/apps/web/src/components/viewmodels/right_panel/user_info/UserInfoHeaderViewModel.tsx index 12899f0bc1c..c1ee98ef65d 100644 --- a/apps/web/src/components/viewmodels/right_panel/user_info/UserInfoHeaderViewModel.tsx +++ b/apps/web/src/components/viewmodels/right_panel/user_info/UserInfoHeaderViewModel.tsx @@ -99,6 +99,7 @@ export function useUserfoHeaderViewModel({ member, roomId }: UserInfoHeaderViewM precenseInfo.state = member.user.presence; precenseInfo.lastActiveAgo = member.user.lastActiveAgo; precenseInfo.currentlyActive = member.user.currentlyActive; + precenseInfo.statusMessage = member.user.presenceStatusMsg; } if (enablePresenceByHsUrl && enablePresenceByHsUrl[cli.baseUrl] !== undefined) { diff --git a/apps/web/src/components/views/avatars/MemberAvatar.tsx b/apps/web/src/components/views/avatars/MemberAvatar.tsx index a62594f0389..bebceb628fa 100644 --- a/apps/web/src/components/views/avatars/MemberAvatar.tsx +++ b/apps/web/src/components/views/avatars/MemberAvatar.tsx @@ -74,6 +74,10 @@ export default function MemberAvatar({ roomId: member?.roomId ?? "", }) ?? fallbackUserId; } + + if (member.user?.presenceStatusMsg) { + title = title ? `${title}\n${member.user.presenceStatusMsg}` : member.user.presenceStatusMsg; + } } return ( diff --git a/apps/web/src/components/views/right_panel/user_info/UserInfoHeaderView.tsx b/apps/web/src/components/views/right_panel/user_info/UserInfoHeaderView.tsx index 275175198c4..30aeb71f7d2 100644 --- a/apps/web/src/components/views/right_panel/user_info/UserInfoHeaderView.tsx +++ b/apps/web/src/components/views/right_panel/user_info/UserInfoHeaderView.tsx @@ -74,6 +74,9 @@ export const UserInfoHeaderView: React.FC = ({ {presenceLabel} + {vm.precenseInfo.statusMessage && ( +
{vm.precenseInfo.statusMessage}
+ )} {vm.timezoneInfo && ( diff --git a/apps/web/src/components/views/rooms/MemberList/tiles/RoomMemberTileView.tsx b/apps/web/src/components/views/rooms/MemberList/tiles/RoomMemberTileView.tsx index a3813050884..e23620b8016 100644 --- a/apps/web/src/components/views/rooms/MemberList/tiles/RoomMemberTileView.tsx +++ b/apps/web/src/components/views/rooms/MemberList/tiles/RoomMemberTileView.tsx @@ -36,12 +36,17 @@ interface IProps { export function RoomMemberTileView(props: IProps): JSX.Element { const vm = useMemberTileViewModel(props); const member = vm.member; + let title = member.displayUserId; + if (member.user?.presenceStatusMsg) { + title = title ? `${title}\n${member.user.presenceStatusMsg}` : member.user.presenceStatusMsg; + } + const av = (