diff --git a/lib/pages/chat/chat.dart b/lib/pages/chat/chat.dart index 6ec7f18e6..8db57a659 100644 --- a/lib/pages/chat/chat.dart +++ b/lib/pages/chat/chat.dart @@ -841,14 +841,23 @@ class ChatController extends State }); } - void hideEmojiPicker() { - // #Pangea - MatrixState.pAnyState.closeAllOverlays(); - clearSelectedEvents(); - // Pangea + // #Pangea + // void hideEmojiPicker() { + void hideEmojiPicker({bool closeOverlay = false}) { + if (closeOverlay) { + MatrixState.pAnyState.closeOverlay(); + } + // Pangea# setState(() => showEmojiPicker = false); } + // #Pangea + void hideOverlayEmojiPicker() { + MatrixState.pAnyState.closeOverlay(); + setState(() => showEmojiPicker = false); + } + // Pangea + void emojiPickerAction() { if (showEmojiPicker) { inputFocus.requestFocus(); diff --git a/lib/pages/chat/chat_emoji_picker.dart b/lib/pages/chat/chat_emoji_picker.dart index 945979dc5..36d5671b1 100644 --- a/lib/pages/chat/chat_emoji_picker.dart +++ b/lib/pages/chat/chat_emoji_picker.dart @@ -92,9 +92,16 @@ class ChatEmojiPicker extends StatelessWidget { ), // #Pangea Padding( - padding: const EdgeInsets.only(bottom: 14.0, top: 2.0), + padding: EdgeInsets.only( + bottom: (controller.emojiPickerType == + EmojiPickerType.reaction) + ? 14.0 + : 0, + top: 2.0, + ), child: FloatingActionButton( - onPressed: controller.hideEmojiPicker, + onPressed: () => + controller.hideEmojiPicker(closeOverlay: true), shape: const CircleBorder(), mini: true, child: const Icon(Icons.close), diff --git a/lib/pages/chat/chat_view.dart b/lib/pages/chat/chat_view.dart index b70c1c8be..648b5b780 100644 --- a/lib/pages/chat/chat_view.dart +++ b/lib/pages/chat/chat_view.dart @@ -447,7 +447,7 @@ class ChatView extends StatelessWidget { Positioned( left: 0, right: 0, - bottom: 16, + bottom: controller.showEmojiPicker ? 0 : 16, child: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.center, @@ -501,7 +501,9 @@ class ChatView extends StatelessWidget { ), ReplyDisplay(controller), ChatInputRow(controller), - ChatEmojiPicker(controller), + if (controller.emojiPickerType != + EmojiPickerType.reaction) + ChatEmojiPicker(controller), ], ), ),