diff --git a/lib/pangea/events/models/pangea_token_model.dart b/lib/pangea/events/models/pangea_token_model.dart index fd632052c..592384ad6 100644 --- a/lib/pangea/events/models/pangea_token_model.dart +++ b/lib/pangea/events/models/pangea_token_model.dart @@ -5,8 +5,10 @@ import 'package:flutter/foundation.dart'; import 'package:collection/collection.dart'; import 'package:matrix/matrix.dart'; +import 'package:fluffychat/pangea/analytics/constants/analytics_constants.dart'; import 'package:fluffychat/pangea/analytics/enums/construct_type_enum.dart'; import 'package:fluffychat/pangea/analytics/enums/construct_use_type_enum.dart'; +import 'package:fluffychat/pangea/analytics/enums/lemma_category_enum.dart'; import 'package:fluffychat/pangea/analytics/extensions/client_analytics_extension.dart'; import 'package:fluffychat/pangea/analytics/models/construct_use_model.dart'; import 'package:fluffychat/pangea/analytics/models/constructs_model.dart'; @@ -622,6 +624,16 @@ class PangeaToken { } } + LemmaCategoryEnum get lemmaXPCategory { + if (vocabConstruct.points >= AnalyticsConstants.xpForFlower) { + return LemmaCategoryEnum.flowers; + } else if (vocabConstruct.points >= AnalyticsConstants.xpForGreens) { + return LemmaCategoryEnum.greens; + } else { + return LemmaCategoryEnum.seeds; + } + } + List morphActivityDistractors( String morphFeature, String morphTag, diff --git a/lib/pangea/toolbar/widgets/word_zoom/lemma_widget.dart b/lib/pangea/toolbar/widgets/word_zoom/lemma_widget.dart index 3e9f6227b..ac9695efc 100644 --- a/lib/pangea/toolbar/widgets/word_zoom/lemma_widget.dart +++ b/lib/pangea/toolbar/widgets/word_zoom/lemma_widget.dart @@ -1,5 +1,7 @@ import 'package:flutter/material.dart'; +import 'package:fluffychat/pangea/analytics/enums/lemma_category_enum.dart'; +import 'package:fluffychat/pangea/common/widgets/customized_svg.dart'; import 'package:fluffychat/pangea/events/models/pangea_token_model.dart'; class LemmaWidget extends StatelessWidget { @@ -14,7 +16,21 @@ class LemmaWidget extends StatelessWidget { Widget build(BuildContext context) { return Padding( padding: const EdgeInsets.all(4.0), - child: Text("${token.lemma.text} ${token.xpEmoji}"), + child: Row( + children: [ + Text(token.lemma.text), + const SizedBox(width: 6), + SizedBox( + width: 30, + height: 30, + child: CustomizedSvg( + svgUrl: token.lemmaXPCategory.svgURL, + colorReplacements: const {}, + errorIcon: Text(token.xpEmoji), + ), + ), + ], + ), ); } }