From 1effc21cde913fffee52bbb3be3fcffd890d56a2 Mon Sep 17 00:00:00 2001 From: ggurdin Date: Wed, 17 Dec 2025 09:37:00 -0500 Subject: [PATCH 1/3] only show emoji selection shimmer if no emoji is selected --- lib/pangea/lemmas/lemma_highlight_emoji_row.dart | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/pangea/lemmas/lemma_highlight_emoji_row.dart b/lib/pangea/lemmas/lemma_highlight_emoji_row.dart index c036f6633..5d857d94a 100644 --- a/lib/pangea/lemmas/lemma_highlight_emoji_row.dart +++ b/lib/pangea/lemmas/lemma_highlight_emoji_row.dart @@ -88,6 +88,7 @@ class LemmaHighlightEmojiRowState extends State { badge: widget.emoji == emoji ? widget.selectedEmojiBadge : null, + showShimmer: widget.emoji == null, ), ) .toList(), @@ -105,6 +106,7 @@ class EmojiChoiceItem extends StatefulWidget { final bool selected; final String transformTargetId; final Widget? badge; + final bool showShimmer; const EmojiChoiceItem({ super.key, @@ -114,6 +116,7 @@ class EmojiChoiceItem extends StatefulWidget { required this.onSelectEmoji, required this.transformTargetId, this.badge, + this.showShimmer = true, }); @override @@ -121,7 +124,7 @@ class EmojiChoiceItem extends StatefulWidget { } class EmojiChoiceItemState extends State { - bool shimmer = true; + bool shimmer = false; Timer? _shimmerTimer; @override @@ -145,6 +148,8 @@ class EmojiChoiceItemState extends State { } void _showShimmer() { + if (!widget.showShimmer) return; + setState(() => shimmer = true); _shimmerTimer?.cancel(); _shimmerTimer = Timer(const Duration(milliseconds: 1500), () { From cede48569cedbfbf3f3fcf770bc14eb78975e16e Mon Sep 17 00:00:00 2001 From: ggurdin Date: Wed, 17 Dec 2025 09:41:45 -0500 Subject: [PATCH 2/3] don't show reaction picker in emoji mode --- lib/pangea/toolbar/word_card/word_card_switcher.dart | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/pangea/toolbar/word_card/word_card_switcher.dart b/lib/pangea/toolbar/word_card/word_card_switcher.dart index 18551a02a..9f481e0cc 100644 --- a/lib/pangea/toolbar/word_card/word_card_switcher.dart +++ b/lib/pangea/toolbar/word_card/word_card_switcher.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; import 'package:fluffychat/config/themes.dart'; import 'package:fluffychat/pangea/toolbar/layout/message_selection_positioner.dart'; +import 'package:fluffychat/pangea/toolbar/reading_assistance/select_mode_buttons.dart'; import 'package:fluffychat/pangea/toolbar/word_card/reading_assistance_content.dart'; class WordCardSwitcher extends StatelessWidget { @@ -22,9 +23,11 @@ class WordCardSwitcher extends StatelessWidget { ? ReadingAssistanceContent( overlayController: controller.widget.overlayController, ) - : MessageReactionPicker( - chatController: controller.widget.chatController, - ), + : mode != SelectMode.emoji + ? MessageReactionPicker( + chatController: controller.widget.chatController, + ) + : const SizedBox.shrink(), ); }, ); From 3bbf6e4f6c1b86991c7378afb772bf811b129c87 Mon Sep 17 00:00:00 2001 From: ggurdin Date: Wed, 17 Dec 2025 10:27:50 -0500 Subject: [PATCH 3/3] lemma emoji picker style updates --- lib/config/app_config.dart | 2 +- lib/pangea/lemmas/lemma_highlight_emoji_row.dart | 16 ++++++++-------- .../reading_assistance/token_emoji_button.dart | 16 +++++----------- .../toolbar/word_card/lemma_reaction_picker.dart | 13 +++---------- 4 files changed, 17 insertions(+), 30 deletions(-) diff --git a/lib/config/app_config.dart b/lib/config/app_config.dart index 9f052678f..71e6b225d 100644 --- a/lib/config/app_config.dart +++ b/lib/config/app_config.dart @@ -27,7 +27,7 @@ abstract class AppConfig { static const bool allowOtherHomeservers = true; static const bool enableRegistration = true; // #Pangea - static const double toolbarMaxHeight = 225.0; + static const double toolbarMaxHeight = 235.0; static const double toolbarMinHeight = 150.0; static const double toolbarMinWidth = 350.0; static const double toolbarMenuHeight = 50.0; diff --git a/lib/pangea/lemmas/lemma_highlight_emoji_row.dart b/lib/pangea/lemmas/lemma_highlight_emoji_row.dart index 5d857d94a..8fe72106c 100644 --- a/lib/pangea/lemmas/lemma_highlight_emoji_row.dart +++ b/lib/pangea/lemmas/lemma_highlight_emoji_row.dart @@ -72,7 +72,7 @@ class LemmaHighlightEmojiRowState extends State { } return SizedBox( - height: 60.0, + height: 70.0, child: Row( spacing: 4.0, mainAxisSize: MainAxisSize.min, @@ -176,16 +176,16 @@ class EmojiChoiceItemState extends State { link: layerLink, child: AnimatedContainer( duration: const Duration(milliseconds: 200), - padding: const EdgeInsets.all(8), + padding: const EdgeInsets.all(10), decoration: BoxDecoration( - color: hovered - ? Theme.of(context).colorScheme.primary.withAlpha(50) + color: hovered || widget.selected + ? Theme.of(context).colorScheme.secondary.withAlpha(30) : Colors.transparent, borderRadius: BorderRadius.circular(AppConfig.borderRadius), border: widget.selected ? Border.all( - color: AppConfig.goldLight.withAlpha(200), - width: 2, + color: Colors.transparent, + width: 4, ) : null, ), @@ -198,8 +198,8 @@ class EmojiChoiceItemState extends State { ), if (widget.badge != null) Positioned( - right: 0, - bottom: 0, + right: 6, + bottom: 6, child: widget.badge!, ), ], diff --git a/lib/pangea/toolbar/reading_assistance/token_emoji_button.dart b/lib/pangea/toolbar/reading_assistance/token_emoji_button.dart index 9b1c31e98..9c98c3bbc 100644 --- a/lib/pangea/toolbar/reading_assistance/token_emoji_button.dart +++ b/lib/pangea/toolbar/reading_assistance/token_emoji_button.dart @@ -104,17 +104,11 @@ class TokenEmojiButtonState extends State } final child = widget.enabled - ? _emoji != null - ? Text( - _emoji!, - style: TextStyle(fontSize: buttonSize - 8.0), - textScaler: TextScaler.noScaling, - ) - : Icon( - Icons.add_reaction_outlined, - size: buttonSize - 8.0, - color: Theme.of(context).colorScheme.primary, - ) + ? Text( + _emoji ?? "-", + style: TextStyle(fontSize: buttonSize - 8.0), + textScaler: TextScaler.noScaling, + ) : null; final content = ValueListenableBuilder( diff --git a/lib/pangea/toolbar/word_card/lemma_reaction_picker.dart b/lib/pangea/toolbar/word_card/lemma_reaction_picker.dart index 4fe4c1c56..67f6922af 100644 --- a/lib/pangea/toolbar/word_card/lemma_reaction_picker.dart +++ b/lib/pangea/toolbar/word_card/lemma_reaction_picker.dart @@ -121,16 +121,9 @@ class LemmaReactionPickerState extends State selectedEmojiBadge: widget.event != null && _selectedEmoji != null && _sentReaction(_selectedEmoji!) == null - ? CircleAvatar( - backgroundColor: Theme.of(context).colorScheme.onSurface, - radius: 8.0, - child: Center( - child: Icon( - Icons.send, - size: 12.0, - color: Theme.of(context).colorScheme.surface, - ), - ), + ? const Icon( + Icons.add_reaction, + size: 12.0, ) : null, );