From 1843a2cd845561beddf7c01067cd05f15d9380e4 Mon Sep 17 00:00:00 2001 From: avashilling <165050625+avashilling@users.noreply.github.com> Date: Tue, 29 Jul 2025 12:54:09 -0400 Subject: [PATCH] Darken emojis in word card after use (#3580) --- lib/pangea/lemmas/lemma_reaction_picker.dart | 38 ++++++++++++++++++-- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/lib/pangea/lemmas/lemma_reaction_picker.dart b/lib/pangea/lemmas/lemma_reaction_picker.dart index ece6095b2..037db9550 100644 --- a/lib/pangea/lemmas/lemma_reaction_picker.dart +++ b/lib/pangea/lemmas/lemma_reaction_picker.dart @@ -51,6 +51,29 @@ class LemmaReactionPicker extends StatelessWidget { @override Widget build(BuildContext context) { + final sentReactions = {}; + if (controller.selectedEvents.isNotEmpty) { + final selectedEvent = controller.selectedEvents.first; + sentReactions.addAll( + selectedEvent + .aggregatedEvents( + controller.timeline!, + RelationshipTypes.reaction, + ) + .where( + (event) => + event.senderId == event.room.client.userID && + event.type == 'm.reaction', + ) + .map( + (event) => event.content + .tryGetMap('m.relates_to') + ?.tryGet('key'), + ) + .whereType(), + ); + } + return Container( height: 50, alignment: Alignment.center, @@ -65,9 +88,18 @@ class LemmaReactionPicker extends StatelessWidget { .toList() : emojis .map( - (emoji) => LemmaEmojiChoiceItem( - content: emoji, - onTap: () => setEmoji(emoji, context), + (emoji) => Opacity( + opacity: sentReactions.contains( + emoji, + ) + ? 0.33 + : 1, + child: LemmaEmojiChoiceItem( + content: emoji, + onTap: () => sentReactions.contains(emoji) + ? null + : setEmoji(emoji, context), + ), ), ) .toList(),