Programmatically determine left/right

pull/1384/head
Kelrap 1 year ago
parent ecb1df70dc
commit c42f44a798

@ -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,
),

@ -338,7 +338,7 @@ class MessageToolbarState extends State<MessageToolbar> {
Widget build(BuildContext context) {
final double maxHeight = (MediaQuery.of(context).size.height -
(PlatformInfos.isWeb
? 211
? 214
: PlatformInfos.isIOS
? 256
: 198)) /

@ -88,7 +88,7 @@ class OverlayMessage extends StatelessWidget {
final double maxHeight = (MediaQuery.of(context).size.height -
(PlatformInfos.isWeb
? 225
? 228
: PlatformInfos.isIOS
? 256
: 198)) /

Loading…
Cancel
Save