Merge pull request #1879 from famedly/krille/better-room-avatar-name-for-invites

refactor: Better avatar and names for invites
This commit is contained in:
td 2024-07-17 19:41:19 +05:30 committed by GitHub
commit 2b0fbd2268
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 15 additions and 16 deletions

View File

@ -263,11 +263,11 @@ class Room {
if (membership == Membership.invite) {
final ownMember = unsafeGetUserFromMemoryOrFallback(client.userID!);
unsafeGetUserFromMemoryOrFallback(ownMember.senderId)
.calcDisplayname(i18n: i18n);
if (ownMember.senderId != ownMember.stateKey) {
return unsafeGetUserFromMemoryOrFallback(ownMember.senderId)
.calcDisplayname(i18n: i18n);
return i18n.invitedBy(
unsafeGetUserFromMemoryOrFallback(ownMember.senderId)
.calcDisplayname(i18n: i18n),
);
}
}
if (membership == Membership.leave) {
@ -291,25 +291,19 @@ class Room {
/// that you have the room members, call and await `Room.loadHeroUsers()`
/// before.
Uri? get avatar {
// Check content of `m.room.avatar`
final avatarUrl =
getState(EventTypes.RoomAvatar)?.content.tryGet<String>('url');
if (avatarUrl != null) {
return Uri.tryParse(avatarUrl);
}
final heroes = summary.mHeroes;
if (heroes != null && heroes.length == 1) {
final hero = getState(EventTypes.RoomMember, heroes.first);
if (hero != null) {
return hero.asUser(this).avatarUrl;
}
}
if (isDirectChat) {
final user = directChatMatrixID;
if (user != null) {
return unsafeGetUserFromMemoryOrFallback(user).avatarUrl;
}
// Room has no avatar and is not a direct chat
final directChatMatrixID = this.directChatMatrixID;
if (directChatMatrixID != null) {
return unsafeGetUserFromMemoryOrFallback(directChatMatrixID).avatarUrl;
}
return null;
}

View File

@ -248,6 +248,9 @@ class MatrixDefaultLocalizations extends MatrixLocalizations {
String youInvitedBy(String senderName) =>
'You have been invited by $senderName';
@override
String invitedBy(String senderName) => 'Invited by $senderName';
@override
String youInvitedUser(String targetName) => 'You invited $targetName';

View File

@ -62,6 +62,8 @@ abstract class MatrixLocalizations {
String youInvitedBy(String senderName);
String invitedBy(String senderName);
String youInvitedUser(String targetName);
String youUnbannedUser(String targetName);