Programmatically determine left/right
This commit is contained in:
parent
ecb1df70dc
commit
c42f44a798
3 changed files with 15 additions and 16 deletions
|
|
@ -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…
Add table
Reference in a new issue