diff --git a/lib/pangea/toolbar/reading_assistance_input_row/overlay_footer.dart b/lib/pangea/toolbar/reading_assistance_input_row/overlay_footer.dart index b49961615..0a1f35866 100644 --- a/lib/pangea/toolbar/reading_assistance_input_row/overlay_footer.dart +++ b/lib/pangea/toolbar/reading_assistance_input_row/overlay_footer.dart @@ -1,7 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:matrix/matrix_api_lite/model/message_types.dart'; - import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/config/themes.dart'; import 'package:fluffychat/pages/chat/chat.dart'; @@ -12,19 +10,15 @@ import 'package:fluffychat/pangea/toolbar/widgets/toolbar_button_column.dart'; class OverlayFooter extends StatelessWidget { final ChatController controller; final MessageOverlayController overlayController; + final bool showToolbarButtons; const OverlayFooter({ required this.controller, required this.overlayController, + required this.showToolbarButtons, super.key, }); - bool get showToolbarButtons => - overlayController.pangeaMessageEvent != null && - overlayController.pangeaMessageEvent!.shouldShowToolbar && - overlayController.pangeaMessageEvent!.event.messageType == - MessageTypes.Text; - @override Widget build(BuildContext context) { //@ggurdin can we change this mobile padding to 0? seems a some extrea space on mobile @@ -42,10 +36,8 @@ class OverlayFooter extends StatelessWidget { alignment: Alignment.center, child: Column( children: [ - ToolbarButtonRow( - overlayController: overlayController, - shouldShowToolbarButtons: showToolbarButtons, - ), + if (showToolbarButtons) + ToolbarButtonRow(overlayController: overlayController), Material( clipBehavior: Clip.hardEdge, color: Theme.of(context).colorScheme.surfaceContainerHighest, diff --git a/lib/pangea/toolbar/widgets/message_selection_positioner.dart b/lib/pangea/toolbar/widgets/message_selection_positioner.dart index fa902811b..b2dc915f3 100644 --- a/lib/pangea/toolbar/widgets/message_selection_positioner.dart +++ b/lib/pangea/toolbar/widgets/message_selection_positioner.dart @@ -103,7 +103,7 @@ class MessageSelectionPositionerState extends State Future.wait([ _centeredMessageCompleter.future, - _tooltipCompleter.future, + if (showToolbarButtons) _tooltipCompleter.future, ]).then((_) => _startAnimation()); } @@ -386,7 +386,8 @@ class MessageSelectionPositionerState extends State bool get showToolbarButtons => widget.pangeaMessageEvent != null && widget.pangeaMessageEvent!.shouldShowToolbar && - widget.pangeaMessageEvent!.event.messageType == MessageTypes.Text; + widget.pangeaMessageEvent!.event.messageType == MessageTypes.Text && + widget.pangeaMessageEvent!.messageDisplayLangIsL2; bool get _hasReactions { final reactionsEvents = widget.event.aggregatedEvents( @@ -444,7 +445,6 @@ class MessageSelectionPositionerState extends State pangeaMessageEvent: widget.pangeaMessageEvent, nextEvent: widget.nextEvent, prevEvent: widget.prevEvent, - showToolbarButtons: showToolbarButtons, hasReactions: _hasReactions, onChangeMessageSize: _setCenteredMessageSize, isTransitionAnimation: false, @@ -471,6 +471,7 @@ class MessageSelectionPositionerState extends State child: OverlayFooter( controller: widget.chatController, overlayController: widget.overlayController, + showToolbarButtons: showToolbarButtons, ), ), SizedBox(height: _mediaQuery?.padding.bottom ?? 0), @@ -510,7 +511,6 @@ class MessageSelectionPositionerState extends State pangeaMessageEvent: widget.pangeaMessageEvent, nextEvent: widget.nextEvent, prevEvent: widget.prevEvent, - showToolbarButtons: showToolbarButtons, hasReactions: _hasReactions, sizeAnimation: _messageSizeAnimation, isTransitionAnimation: true, @@ -523,30 +523,31 @@ class MessageSelectionPositionerState extends State ); }, ), - Positioned( - top: 0, - child: IgnorePointer( - child: MeasureRenderBox( - onChange: _setTooltipSize, - child: Opacity( - opacity: 0.0, - child: Container( - constraints: const BoxConstraints( - minWidth: 200.0, - maxWidth: 400.0, - ), - child: InstructionsInlineTooltip( - instructionsEnum: widget - .overlayController.toolbarMode.instructionsEnum ?? - InstructionsEnum.readingAssistanceOverview, - bold: true, + if (showToolbarButtons) + Positioned( + top: 0, + child: IgnorePointer( + child: MeasureRenderBox( + onChange: _setTooltipSize, + child: Opacity( + opacity: 0.0, + child: Container( + constraints: BoxConstraints( + minWidth: 200.0, + maxWidth: _toolbarMaxWidth, + ), + child: InstructionsInlineTooltip( + instructionsEnum: widget.overlayController.toolbarMode + .instructionsEnum ?? + InstructionsEnum.readingAssistanceOverview, + bold: true, + ), ), ), ), ), ), - ), - if (_centeredMessageTopOffset != null && _finishedAnimation) + if (_centeredMessageTopOffset != null && _tooltipSize != null) Positioned( top: max( ((_headerHeight + _centeredMessageTopOffset!) / 2) - diff --git a/lib/pangea/toolbar/widgets/overlay_center_content.dart b/lib/pangea/toolbar/widgets/overlay_center_content.dart index 4b85e9e80..fcc79e2cc 100644 --- a/lib/pangea/toolbar/widgets/overlay_center_content.dart +++ b/lib/pangea/toolbar/widgets/overlay_center_content.dart @@ -26,7 +26,6 @@ class OverlayCenterContent extends StatelessWidget { final double maxWidth; final double maxHeight; - final bool showToolbarButtons; final bool hasReactions; final bool isTransitionAnimation; @@ -43,7 +42,6 @@ class OverlayCenterContent extends StatelessWidget { required this.pangeaMessageEvent, required this.nextEvent, required this.prevEvent, - required this.showToolbarButtons, required this.hasReactions, this.onChangeMessageSize, this.sizeAnimation, diff --git a/lib/pangea/toolbar/widgets/toolbar_button_column.dart b/lib/pangea/toolbar/widgets/toolbar_button_column.dart index df946094b..903aeb9da 100644 --- a/lib/pangea/toolbar/widgets/toolbar_button_column.dart +++ b/lib/pangea/toolbar/widgets/toolbar_button_column.dart @@ -1,7 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:matrix/matrix.dart'; - import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/pangea/toolbar/enums/message_mode_enum.dart'; import 'package:fluffychat/pangea/toolbar/widgets/message_selection_overlay.dart'; @@ -9,11 +7,9 @@ import 'package:fluffychat/pangea/toolbar/widgets/toolbar_button.dart'; class ToolbarButtonRow extends StatelessWidget { final MessageOverlayController overlayController; - final bool shouldShowToolbarButtons; const ToolbarButtonRow({ required this.overlayController, - required this.shouldShowToolbarButtons, super.key, }); @@ -24,15 +20,6 @@ class ToolbarButtonRow extends StatelessWidget { @override Widget build(BuildContext context) { - if (overlayController.event.messageType == MessageTypes.Audio || - !shouldShowToolbarButtons || - !(overlayController.pangeaMessageEvent?.messageDisplayLangIsL2 ?? - false)) { - return const SizedBox( - height: AppConfig.toolbarButtonsHeight, - ); - } - return SizedBox( height: AppConfig.toolbarButtonsHeight, child: Row(