From ad241aa6317f4a281b8acc880a54406b52b7e53f Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Fri, 7 Feb 2025 16:46:10 -0500 Subject: [PATCH] feat: move reply button to chat view header (#1733) --- lib/pages/chat/chat_input_row.dart | 84 ++++++++----------- .../toolbar/widgets/overlay_header.dart | 7 ++ .../widgets/pangea_reaction_picker.dart | 2 + 3 files changed, 45 insertions(+), 48 deletions(-) diff --git a/lib/pages/chat/chat_input_row.dart b/lib/pages/chat/chat_input_row.dart index 8bb7f2c43..1f5a16db3 100644 --- a/lib/pages/chat/chat_input_row.dart +++ b/lib/pages/chat/chat_input_row.dart @@ -3,7 +3,6 @@ import 'package:flutter/material.dart'; import 'package:animations/animations.dart'; import 'package:flutter_gen/gen_l10n/l10n.dart'; -import 'package:material_symbols_icons/symbols.dart'; import 'package:matrix/matrix.dart'; import 'package:fluffychat/config/app_config.dart'; @@ -111,7 +110,7 @@ class ChatInputRow extends StatelessWidget { ], ), ), - ) + ), // #Pangea // else // SizedBox( @@ -126,52 +125,41 @@ class ChatInputRow extends StatelessWidget { // ), // ), // ), - else - // Pangea# - controller.selectedEvents.length == 1 - ? - // #Pangea - // controller.selectedEvents.first - // .getDisplayEvent(controller.timeline!) - // .status - // .isSent - // ? - // Pangea# - SizedBox( - height: height, - child: TextButton( - onPressed: controller.replyAction, - child: Row( - children: [ - // #Pangea - // Text(L10n.of(context).reply), - // const Icon(Icons.keyboard_arrow_right), - const Icon(Symbols.reply), - const SizedBox(width: 6), - Text(L10n.of(context).reply), - // Pangea# - ], - ), - ), - ) - // #Pangea - // : SizedBox( - // height: height, - // child: TextButton( - // onPressed: controller.sendAgainAction, - // child: Row( - // children: [ - // Text(L10n.of(context).tryToSendAgain), - // const SizedBox(width: 4), - // const Icon(Icons.send_outlined, size: 16), - // ], - // ), - // ), - // ), - // Pangea# - : const SizedBox.shrink(), - // #Pangea - PangeaReactionsPicker(controller, overlayController), + // controller.selectedEvents.length == 1 + // ? controller.selectedEvents.first + // .getDisplayEvent(controller.timeline!) + // .status + // .isSent + // ? SizedBox( + // height: height, + // child: TextButton( + // onPressed: controller.replyAction, + // child: Row( + // children: [ + // Text(L10n.of(context).reply), + // const Icon(Icons.keyboard_arrow_right), + // ], + // ), + // ), + // ) + // : SizedBox( + // height: height, + // child: TextButton( + // onPressed: controller.sendAgainAction, + // child: Row( + // children: [ + // Text(L10n.of(context).tryToSendAgain), + // const SizedBox(width: 4), + // const Icon(Icons.send_outlined, size: 16), + // ], + // ), + // ), + // ) + // : const SizedBox.shrink(), + PangeaReactionsPicker( + controller, + overlayController, + ), if (controller.selectedEvents.length == 1 && !controller.selectedEvents.first .getDisplayEvent(controller.timeline!) diff --git a/lib/pangea/toolbar/widgets/overlay_header.dart b/lib/pangea/toolbar/widgets/overlay_header.dart index bfee832b7..549fa6c8c 100644 --- a/lib/pangea/toolbar/widgets/overlay_header.dart +++ b/lib/pangea/toolbar/widgets/overlay_header.dart @@ -33,6 +33,13 @@ class OverlayHeader extends StatelessWidget { child: Row( mainAxisAlignment: MainAxisAlignment.end, children: [ + if (controller.selectedEvents.length == 1) + IconButton( + icon: const Icon(Symbols.reply_all), + tooltip: L10n.of(context).reply, + onPressed: controller.replyAction, + color: Theme.of(context).colorScheme.primary, + ), IconButton( icon: const Icon(Symbols.forward), tooltip: L10n.of(context).forward, diff --git a/lib/pangea/toolbar/widgets/pangea_reaction_picker.dart b/lib/pangea/toolbar/widgets/pangea_reaction_picker.dart index 7dff3c79b..6bbb053c5 100644 --- a/lib/pangea/toolbar/widgets/pangea_reaction_picker.dart +++ b/lib/pangea/toolbar/widgets/pangea_reaction_picker.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'package:matrix/matrix.dart'; +import 'package:fluffychat/config/app_config.dart'; import 'package:fluffychat/config/app_emojis.dart'; import 'package:fluffychat/pages/chat/chat.dart'; import 'package:fluffychat/pangea/events/models/pangea_token_model.dart'; @@ -71,6 +72,7 @@ class PangeaReactionsPicker extends StatelessWidget { onTap: () => controller.sendEmojiAction(emoji), child: Container( width: kIsWeb ? 56 : 48, + height: AppConfig.defaultFooterHeight, alignment: Alignment.center, child: Text( emoji,