From 60f572520d32a23cf4bd9f2e0190ec7476de9ede Mon Sep 17 00:00:00 2001 From: ggurdin Date: Tue, 16 Dec 2025 11:37:47 -0500 Subject: [PATCH] initial work to add shimmer to match activity options --- .../practice_activities/practice_target.dart | 9 +++++++++ .../message_practice/practice_match_card.dart | 17 +++++++++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/lib/pangea/practice_activities/practice_target.dart b/lib/pangea/practice_activities/practice_target.dart index 4b573a9bf..12353edbd 100644 --- a/lib/pangea/practice_activities/practice_target.dart +++ b/lib/pangea/practice_activities/practice_target.dart @@ -153,4 +153,13 @@ class PracticeTarget { } return null; } + + bool get hasAnyCorrectChoices { + for (final response in record.responses) { + if (response.isCorrect) { + return true; + } + } + return false; + } } diff --git a/lib/pangea/toolbar/message_practice/practice_match_card.dart b/lib/pangea/toolbar/message_practice/practice_match_card.dart index 93928a188..0b88a58ca 100644 --- a/lib/pangea/toolbar/message_practice/practice_match_card.dart +++ b/lib/pangea/toolbar/message_practice/practice_match_card.dart @@ -30,17 +30,29 @@ class MatchActivityCard extends StatelessWidget { ActivityTypeEnum get activityType => currentActivity.activityType; Widget choiceDisplayContent( + BuildContext context, String choice, double? fontSize, ) { switch (activityType) { case ActivityTypeEnum.emoji: case ActivityTypeEnum.wordMeaning: - return Text( + final text = Text( choice, style: TextStyle(fontSize: fontSize), textAlign: TextAlign.center, ); + + // if (controller.selectedChoice == null && + // !currentActivity.practiceTarget.hasAnyCorrectChoices) { + // return Shimmer.fromColors( + // baseColor: Theme.of(context).colorScheme.onSurface, + // highlightColor: AppConfig.goldLight, + // child: text, + // ); + // } + + return text; case ActivityTypeEnum.wordFocusListening: return Icon( Icons.volume_up, @@ -90,7 +102,8 @@ class MatchActivityCard extends StatelessWidget { isSelected: controller.selectedChoice == cf, isCorrect: wasCorrect, constructForm: cf, - content: choiceDisplayContent(cf.choiceContent, fontSize), + content: + choiceDisplayContent(context, cf.choiceContent, fontSize), audioContent: activityType == ActivityTypeEnum.wordFocusListening ? cf.choiceContent