From 7f09287bc744a3ac0ebf02f7841caf96ecf7b2e0 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Wed, 31 Dec 2025 15:15:43 -0500 Subject: [PATCH] fix: set exact reactions length in overlay (#5016) --- .../layout/message_selection_positioner.dart | 7 +++++++ .../toolbar/layout/over_message_overlay.dart | 1 + .../toolbar/layout/overlay_center_content.dart | 16 ++++++++++------ 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/lib/pangea/toolbar/layout/message_selection_positioner.dart b/lib/pangea/toolbar/layout/message_selection_positioner.dart index b3295c9d7..36f383dbf 100644 --- a/lib/pangea/toolbar/layout/message_selection_positioner.dart +++ b/lib/pangea/toolbar/layout/message_selection_positioner.dart @@ -159,6 +159,13 @@ class MessageSelectionPositionerState extends State return hasReactions ? 28.0 : 0.0; } + double get reactionsWidth { + if (_reactionsRenderBox != null) { + return _reactionsRenderBox!.size.width; + } + return 0.0; + } + bool get ownMessage => widget.event.senderId == widget.event.room.client.userID; diff --git a/lib/pangea/toolbar/layout/over_message_overlay.dart b/lib/pangea/toolbar/layout/over_message_overlay.dart index 8fa6eeda8..9dccb773d 100644 --- a/lib/pangea/toolbar/layout/over_message_overlay.dart +++ b/lib/pangea/toolbar/layout/over_message_overlay.dart @@ -67,6 +67,7 @@ class OverMessageOverlay extends StatelessWidget { readingAssistanceMode: controller.readingAssistanceMode, overlayKey: 'overlay_message_${controller.widget.event.eventId}', + reactionsWidth: controller.reactionsWidth, ); }, ), diff --git a/lib/pangea/toolbar/layout/overlay_center_content.dart b/lib/pangea/toolbar/layout/overlay_center_content.dart index 35f4bc893..ceefa3742 100644 --- a/lib/pangea/toolbar/layout/overlay_center_content.dart +++ b/lib/pangea/toolbar/layout/overlay_center_content.dart @@ -25,6 +25,7 @@ class OverlayCenterContent extends StatelessWidget { final double? messageWidth; final bool hasReactions; + final double? reactionsWidth; final bool isTransitionAnimation; final ReadingAssistanceMode? readingAssistanceMode; @@ -41,6 +42,7 @@ class OverlayCenterContent extends StatelessWidget { required this.nextEvent, required this.prevEvent, required this.hasReactions, + this.reactionsWidth, this.onChangeMessageSize, this.sizeAnimation, this.isTransitionAnimation = false, @@ -89,13 +91,15 @@ class OverlayCenterContent extends StatelessWidget { Padding( padding: EdgeInsets.only( top: 4.0, - left: 4.0, - right: ownMessage ? 0 : 12.0, + left: ownMessage ? 0.0 : 4.0, ), - child: PangeaMessageReactions( - event, - chatController.timeline!, - chatController, + child: ConstrainedBox( + constraints: BoxConstraints(maxWidth: reactionsWidth ?? 0.0), + child: PangeaMessageReactions( + event, + chatController.timeline!, + chatController, + ), ), ), ],