From 4798852472fb705a0df0371fae08c959227c2f58 Mon Sep 17 00:00:00 2001 From: ggurdin Date: Fri, 15 Nov 2024 13:47:36 -0500 Subject: [PATCH] center activities in toolbar properly --- .../multiple_choice_activity.dart | 104 +++++++++--------- 1 file changed, 54 insertions(+), 50 deletions(-) diff --git a/lib/pangea/widgets/practice_activity/multiple_choice_activity.dart b/lib/pangea/widgets/practice_activity/multiple_choice_activity.dart index 7d6045819..66ae4e15f 100644 --- a/lib/pangea/widgets/practice_activity/multiple_choice_activity.dart +++ b/lib/pangea/widgets/practice_activity/multiple_choice_activity.dart @@ -120,6 +120,56 @@ class MultipleChoiceActivityState extends State { Widget build(BuildContext context) { final PracticeActivityModel practiceActivity = widget.currentActivity; + final content = Column( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + practiceActivity.content.question, + style: BotStyle.text(context), + ), + const SizedBox(height: 8), + if (practiceActivity.activityType == + ActivityTypeEnum.wordFocusListening) + WordAudioButton( + text: practiceActivity.content.answer, + ttsController: widget.tts, + eventID: widget.eventID, + ), + if (practiceActivity.activityType == + ActivityTypeEnum.hiddenWordListening) + MessageAudioCard( + messageEvent: + widget.practiceCardController.widget.pangeaMessageEvent, + overlayController: + widget.practiceCardController.widget.overlayController, + tts: widget.practiceCardController.widget.overlayController.tts, + setIsPlayingAudio: widget.practiceCardController.widget + .overlayController.setIsPlayingAudio, + onError: widget.onError, + ), + ChoicesArray( + isLoading: false, + uniqueKeyForLayerLink: (index) => "multiple_choice_$index", + originalSpan: "placeholder", + onPressed: updateChoice, + selectedChoiceIndex: selectedChoiceIndex, + choices: practiceActivity.content.choices + .mapIndexed( + (index, value) => Choice( + text: value, + color: currentRecordModel?.hasTextResponse(value) ?? false + ? practiceActivity.content.choiceColor(index) + : null, + isGold: practiceActivity.content.isCorrect(value, index), + ), + ) + .toList(), + isActive: true, + id: currentRecordModel?.hashCode.toString(), + ), + ], + ); + return Container( padding: const EdgeInsets.all(20), constraints: const BoxConstraints( @@ -127,56 +177,10 @@ class MultipleChoiceActivityState extends State { minWidth: AppConfig.toolbarMinWidth, minHeight: AppConfig.toolbarMinHeight, ), - child: SingleChildScrollView( - child: Column( - children: [ - Text( - practiceActivity.content.question, - style: BotStyle.text(context), - ), - const SizedBox(height: 8), - if (practiceActivity.activityType == - ActivityTypeEnum.wordFocusListening) - WordAudioButton( - text: practiceActivity.content.answer, - ttsController: widget.tts, - eventID: widget.eventID, - ), - if (practiceActivity.activityType == - ActivityTypeEnum.hiddenWordListening) - MessageAudioCard( - messageEvent: - widget.practiceCardController.widget.pangeaMessageEvent, - overlayController: - widget.practiceCardController.widget.overlayController, - tts: widget.practiceCardController.widget.overlayController.tts, - setIsPlayingAudio: widget.practiceCardController.widget - .overlayController.setIsPlayingAudio, - onError: widget.onError, - ), - ChoicesArray( - isLoading: false, - uniqueKeyForLayerLink: (index) => "multiple_choice_$index", - originalSpan: "placeholder", - onPressed: updateChoice, - selectedChoiceIndex: selectedChoiceIndex, - choices: practiceActivity.content.choices - .mapIndexed( - (index, value) => Choice( - text: value, - color: currentRecordModel?.hasTextResponse(value) ?? false - ? practiceActivity.content.choiceColor(index) - : null, - isGold: practiceActivity.content.isCorrect(value, index), - ), - ) - .toList(), - isActive: true, - id: currentRecordModel?.hashCode.toString(), - ), - ], - ), - ), + child: + practiceActivity.activityType == ActivityTypeEnum.hiddenWordListening + ? SingleChildScrollView(child: content) + : content, ); } }