diff --git a/lib/pages/chat/events/html_message.dart b/lib/pages/chat/events/html_message.dart index 8e625f031..ffd750f08 100644 --- a/lib/pages/chat/events/html_message.dart +++ b/lib/pages/chat/events/html_message.dart @@ -14,6 +14,7 @@ import 'package:fluffychat/pages/chat/chat.dart'; import 'package:fluffychat/pangea/common/utils/error_handler.dart'; import 'package:fluffychat/pangea/events/event_wrappers/pangea_message_event.dart'; import 'package:fluffychat/pangea/events/models/pangea_token_model.dart'; +import 'package:fluffychat/pangea/toolbar/enums/activity_type_enum.dart'; import 'package:fluffychat/widgets/avatar.dart'; import 'package:fluffychat/widgets/mxc_image.dart'; import '../../../utils/url_launcher.dart'; @@ -374,8 +375,26 @@ class TokenExtension extends HtmlExtension { final selected = token != null && isSelected != null ? isSelected!.call(token) : false; - final backgroundColor = - selected ? AppConfig.primaryColor.withAlpha(80) : Colors.transparent; + final shouldDo = token?.shouldDoActivity( + a: ActivityTypeEnum.wordMeaning, + feature: null, + tag: null, + ) ?? + false; + + final didMeaningActivity = token?.didActivitySuccessfully( + ActivityTypeEnum.wordMeaning, + ) ?? + true; + + Color backgroundColor = Colors.transparent; + if (selected) { + backgroundColor = AppConfig.primaryColor.withAlpha(80); + } else if (isSelected != null && shouldDo) { + backgroundColor = !didMeaningActivity + ? AppConfig.success.withAlpha(60) + : AppConfig.gold.withAlpha(60); + } return TextSpan( recognizer: TapGestureRecognizer() diff --git a/lib/pangea/analytics/controllers/message_analytics_controller.dart b/lib/pangea/analytics/controllers/message_analytics_controller.dart index 3bf62d713..9abe97146 100644 --- a/lib/pangea/analytics/controllers/message_analytics_controller.dart +++ b/lib/pangea/analytics/controllers/message_analytics_controller.dart @@ -254,7 +254,8 @@ class MessageAnalyticsController { final bool includeHiddenWordActivities = !pangeaMessageEvent.ownMessage && pangeaMessageEvent.messageDisplayRepresentation?.tokens != null && - pangeaMessageEvent.messageDisplayLangIsL2; + pangeaMessageEvent.messageDisplayLangIsL2 && + !pangeaMessageEvent.event.isRichMessage; _cache[key] = MessageAnalyticsEntry( tokens: tokens,