From 861da393621e66acae7e58bb6caa5a11521446d4 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Wed, 13 Aug 2025 14:54:51 -0400 Subject: [PATCH] chore: show role name in message sender display (#3730) --- lib/pages/chat/events/message.dart | 11 ++++++++++- .../custom_room_display_extension.dart | 16 ++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 lib/pangea/chat/extensions/custom_room_display_extension.dart 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; + } +}