diff --git a/lib/pages/chat/events/message.dart b/lib/pages/chat/events/message.dart index 0d6b364ab..80d66b007 100644 --- a/lib/pages/chat/events/message.dart +++ b/lib/pages/chat/events/message.dart @@ -13,6 +13,7 @@ import 'package:fluffychat/pages/chat/events/room_creation_state_event.dart'; import 'package:fluffychat/pangea/activity_sessions/activity_creation_state_event.dart'; import 'package:fluffychat/pangea/activity_sessions/activity_room_extension.dart'; import 'package:fluffychat/pangea/activity_sessions/activity_state_event.dart'; +import 'package:fluffychat/pangea/chat/extensions/custom_room_display_extension.dart'; import 'package:fluffychat/pangea/common/widgets/pressable_button.dart'; import 'package:fluffychat/pangea/events/constants/pangea_event_types.dart'; import 'package:fluffychat/pangea/events/event_wrappers/pangea_message_event.dart'; @@ -476,7 +477,15 @@ class Message extends StatelessWidget { .senderFromMemoryOrFallback .calcDisplayname(); return Text( - displayname, + // #Pangea + // displayname, + controller.room + .senderDisplayName( + snapshot.data ?? + event + .senderFromMemoryOrFallback, + ), + // Pangea# style: TextStyle( fontSize: 11, fontWeight: diff --git a/lib/pangea/chat/extensions/custom_room_display_extension.dart b/lib/pangea/chat/extensions/custom_room_display_extension.dart new file mode 100644 index 000000000..397247e72 --- /dev/null +++ b/lib/pangea/chat/extensions/custom_room_display_extension.dart @@ -0,0 +1,16 @@ +import 'package:matrix/matrix.dart'; + +import 'package:fluffychat/pangea/activity_sessions/activity_room_extension.dart'; + +extension CustomRoomDisplayExtension on Room { + String senderDisplayName(User user) { + final displayName = user.calcDisplayname(); + if (showActivityChatUI) { + final role = activityRoles?.role(user.id); + if (role?.role == null) return displayName; + return "${role!.role} | $displayName"; + } + + return displayName; + } +}