diff --git a/lib/pangea/analytics_misc/lemma_emoji_setter_mixin.dart b/lib/pangea/analytics_misc/lemma_emoji_setter_mixin.dart index d3c5f4641..65f4a7a09 100644 --- a/lib/pangea/analytics_misc/lemma_emoji_setter_mixin.dart +++ b/lib/pangea/analytics_misc/lemma_emoji_setter_mixin.dart @@ -13,9 +13,17 @@ import 'package:fluffychat/widgets/matrix.dart'; mixin LemmaEmojiSetter { Future setLemmaEmoji( ConstructIdentifier constructId, + String langCode, String emoji, String? targetId, ) async { + final userL2 = + MatrixState.pangeaController.userController.userL2?.langCodeShort; + if (langCode.split("-").first != userL2) { + // only set emoji for user's L2 language + return; + } + if (constructId.userSetEmoji == null) { _getEmojiAnalytics( constructId, diff --git a/lib/pangea/toolbar/word_card/lemma_reaction_picker.dart b/lib/pangea/toolbar/word_card/lemma_reaction_picker.dart index 0f56d548a..cc823be64 100644 --- a/lib/pangea/toolbar/word_card/lemma_reaction_picker.dart +++ b/lib/pangea/toolbar/word_card/lemma_reaction_picker.dart @@ -58,6 +58,11 @@ class LemmaReactionPickerState extends State { super.dispose(); } + bool get _enabled => + (widget.langCode.split("-").first == + MatrixState.pangeaController.userController.userL2?.langCodeShort) && + widget.enabled; + void _setEmojiSub() { _emojiSub?.cancel(); _emojiSub = Matrix.of(context) @@ -90,7 +95,12 @@ class LemmaReactionPickerState extends State { String emoji, String targetId, ) async { - await widget.setLemmaEmoji(widget.constructId, emoji, targetId); + await widget.setLemmaEmoji( + widget.constructId, + widget.langCode, + emoji, + targetId, + ); messenger = ScaffoldMessenger.of(context); widget.showLemmaEmojiSnackbar( messenger!, @@ -145,7 +155,7 @@ class LemmaReactionPickerState extends State { size: 12.0, ) : null, - enabled: widget.enabled, + enabled: _enabled, ); } }