From c42f44a7981a2d104dedde0bbcf88d042a279830 Mon Sep 17 00:00:00 2001 From: Kelrap Date: Fri, 9 Aug 2024 10:23:09 -0400 Subject: [PATCH] Programmatically determine left/right --- .../chat/message_selection_overlay.dart | 27 +++++++++---------- lib/pangea/widgets/chat/message_toolbar.dart | 2 +- lib/pangea/widgets/chat/overlay_message.dart | 2 +- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/lib/pangea/widgets/chat/message_selection_overlay.dart b/lib/pangea/widgets/chat/message_selection_overlay.dart index f5bb9a800..351b30c1e 100644 --- a/lib/pangea/widgets/chat/message_selection_overlay.dart +++ b/lib/pangea/widgets/chat/message_selection_overlay.dart @@ -40,7 +40,8 @@ class MessageSelectionOverlay extends StatelessWidget { layerLinkAndKey.key.currentContext?.findRenderObject(); double center = 290; - double left = 0; + double? left; + double? right; bool showDown = false; final double footerSize = PlatformInfos.isMobile ? PlatformInfos.isIOS @@ -58,7 +59,13 @@ class MessageSelectionOverlay extends StatelessWidget { if (targetRenderBox != null) { final Size transformTargetSize = (targetRenderBox as RenderBox).size; final Offset targetOffset = (targetRenderBox).localToGlobal(Offset.zero); - left = targetOffset.dx - (FluffyThemes.isColumnMode(context) ? 424 : 0); + if (ownMessage) { + right = MediaQuery.of(context).size.width - + targetOffset.dx - + transformTargetSize.width; + } else { + left = targetOffset.dx - (FluffyThemes.isColumnMode(context) ? 425 : 1); + } showDown = targetOffset.dy + transformTargetSize.height <= headerSize + stackSize / 2; @@ -112,22 +119,14 @@ class MessageSelectionOverlay extends StatelessWidget { child: Stack( children: [ Positioned( - left: ownMessage ? null : left, - right: ownMessage - ? PlatformInfos.isMobile - ? 8 - : 16 - : null, + left: left, + right: right, bottom: stackSize - center + 3, child: showDown ? overlayMessage : toolbar, ), Positioned( - left: ownMessage ? null : left, - right: ownMessage - ? PlatformInfos.isMobile - ? 8 - : 16 - : null, + left: left, + right: right, top: center + 3, child: showDown ? toolbar : overlayMessage, ), diff --git a/lib/pangea/widgets/chat/message_toolbar.dart b/lib/pangea/widgets/chat/message_toolbar.dart index 93eda8cee..e854c2967 100644 --- a/lib/pangea/widgets/chat/message_toolbar.dart +++ b/lib/pangea/widgets/chat/message_toolbar.dart @@ -338,7 +338,7 @@ class MessageToolbarState extends State { Widget build(BuildContext context) { final double maxHeight = (MediaQuery.of(context).size.height - (PlatformInfos.isWeb - ? 211 + ? 214 : PlatformInfos.isIOS ? 256 : 198)) / diff --git a/lib/pangea/widgets/chat/overlay_message.dart b/lib/pangea/widgets/chat/overlay_message.dart index ccc0286fa..0d7115d39 100644 --- a/lib/pangea/widgets/chat/overlay_message.dart +++ b/lib/pangea/widgets/chat/overlay_message.dart @@ -88,7 +88,7 @@ class OverlayMessage extends StatelessWidget { final double maxHeight = (MediaQuery.of(context).size.height - (PlatformInfos.isWeb - ? 225 + ? 228 : PlatformInfos.isIOS ? 256 : 198)) /