From 24c118a66e2e215011c2d22badbfd96b5ec4a818 Mon Sep 17 00:00:00 2001 From: Faiz Hashmi Date: Wed, 28 Dec 2022 15:33:18 +0300 Subject: [PATCH] Removed GapTime for last question and some minor bugs fixed! --- assets/langs/ar-SA.json | 2 ++ assets/langs/en-US.json | 2 ++ lib/api/marathon/marathon_api_client.dart | 1 - lib/generated/codegen_loader.g.dart | 4 ++++ lib/generated/locale_keys.g.dart | 2 ++ lib/ui/marathon/marathon_provider.dart | 21 +++++++++++-------- .../countdown_timer_detail_screen.dart | 4 +++- .../widgets/marathon_progress_container.dart | 21 ++++++++++++------- .../marathon_qualifiers_container.dart | 2 +- 9 files changed, 39 insertions(+), 20 deletions(-) diff --git a/assets/langs/ar-SA.json b/assets/langs/ar-SA.json index f5f734d..c7259fd 100644 --- a/assets/langs/ar-SA.json +++ b/assets/langs/ar-SA.json @@ -489,9 +489,11 @@ "sponsoredBy": "برعاية:", "question": "سؤال", "marathoners": "الماراثون", + "marathoner": "ماراثونر", "prize": "جائزة:", "winnerSelection": "اختيار الفائز", "qualifiers": "تصفيات", + "qualifier": "المؤهل", "getReadyForContest": "استعد للمسابقة القادمة:", "winnerSelectedRandomly": "سيتم اختيار الفائز عشوائياً من بين التصفيات.", "fingersCrossed": "تشابك الاصابع!!!", diff --git a/assets/langs/en-US.json b/assets/langs/en-US.json index 7f67e89..f1eac93 100644 --- a/assets/langs/en-US.json +++ b/assets/langs/en-US.json @@ -478,6 +478,7 @@ "sponsoredBy": "Sponsored By:", "question": "Question", "marathoners": "Marathoners", + "marathoner": "Marathoner", "prize": "Prize:", "advancedSearch": "Advanced Search", "openNot": "Open Notifications", @@ -492,6 +493,7 @@ "none": "None", "winnerSelection": "Winner Selection", "qualifiers": "Qualifiers", + "qualifier": "Qualifier", "getReadyForContest": "Get Ready for the coming contest:", "winnerSelectedRandomly": "The winner will be selected randomly among the qualifiers.", "fingersCrossed": "Fingers Crossed!!!", diff --git a/lib/api/marathon/marathon_api_client.dart b/lib/api/marathon/marathon_api_client.dart index 28fad0f..5b1dfc8 100644 --- a/lib/api/marathon/marathon_api_client.dart +++ b/lib/api/marathon/marathon_api_client.dart @@ -29,7 +29,6 @@ class MarathonApiClient { (json) { MarathonGenericModel marathonModel = MarathonGenericModel.fromJson(json); AppState().setMarathonToken = marathonModel.data["token"] ?? ""; - print("marathonToken: ${"AppState(): ${AppState().getMarathonToken}"}"); return marathonModel.data["token"] ?? ""; }, ApiConsts.marathonParticipantLoginUrl, diff --git a/lib/generated/codegen_loader.g.dart b/lib/generated/codegen_loader.g.dart index 271d2e5..27bae71 100644 --- a/lib/generated/codegen_loader.g.dart +++ b/lib/generated/codegen_loader.g.dart @@ -498,9 +498,11 @@ class CodegenLoader extends AssetLoader { "sponsoredBy": "برعاية:", "question": "سؤال", "marathoners": "الماراثون", + "marathoner": "ماراثونر", "prize": "جائزة:", "winnerSelection": "اختيار الفائز", "qualifiers": "تصفيات", + "qualifier": "المؤهل", "getReadyForContest": "استعد للمسابقة القادمة:", "winnerSelectedRandomly": "سيتم اختيار الفائز عشوائياً من بين التصفيات.", "fingersCrossed": "تشابك الاصابع!!!", @@ -1000,6 +1002,7 @@ class CodegenLoader extends AssetLoader { "sponsoredBy": "Sponsored By:", "question": "Question", "marathoners": "Marathoners", + "marathoner": "Marathoner", "prize": "Prize:", "advancedSearch": "Advanced Search", "openNot": "Open Notifications", @@ -1014,6 +1017,7 @@ class CodegenLoader extends AssetLoader { "none": "None", "winnerSelection": "Winner Selection", "qualifiers": "Qualifiers", + "qualifier": "Qualifier", "getReadyForContest": "Get Ready for the coming contest:", "winnerSelectedRandomly": "The winner will be selected randomly among the qualifiers.", "fingersCrossed": "Fingers Crossed!!!", diff --git a/lib/generated/locale_keys.g.dart b/lib/generated/locale_keys.g.dart index 3d02540..1114c23 100644 --- a/lib/generated/locale_keys.g.dart +++ b/lib/generated/locale_keys.g.dart @@ -475,9 +475,11 @@ abstract class LocaleKeys { static const sponsoredBy = 'sponsoredBy'; static const question = 'question'; static const marathoners = 'marathoners'; + static const marathoner = 'marathoner'; static const prize = 'prize'; static const winnerSelection = 'winnerSelection'; static const qualifiers = 'qualifiers'; + static const qualifier = 'qualifier'; static const getReadyForContest = 'getReadyForContest'; static const winnerSelectedRandomly = 'winnerSelectedRandomly'; static const fingersCrossed = 'fingersCrossed'; diff --git a/lib/ui/marathon/marathon_provider.dart b/lib/ui/marathon/marathon_provider.dart index 1b825e8..c1338eb 100644 --- a/lib/ui/marathon/marathon_provider.dart +++ b/lib/ui/marathon/marathon_provider.dart @@ -136,6 +136,8 @@ class MarathonProvider extends ChangeNotifier { notifyListeners(); } + // 9c47d281-c5b5-4b5d-a90a-08dacb8cbdb6 + // MarathonI //****************TIMERS********** int sponsorsSecondsCounter = 0; @@ -208,8 +210,6 @@ class MarathonProvider extends ChangeNotifier { } if (totalCurrentQuestionTime == currentGapTime) { - totalCurrentQuestionTime--; - updateCardStatusToAnswer(); scheduleMicrotask(() async { @@ -222,20 +222,23 @@ class MarathonProvider extends ChangeNotifier { }); } }); - } - if (totalCurrentQuestionTime == 0) { - gapTimeImage = currentQuestion.gapImage; - gapTimeText = currentQuestion.gapText; - gapTimeType = currentQuestion.gapType; - updateCardData(); - if (currentQuestionNumber - 1 == marathonDetailModel.totalQuestions!) { + if (currentQuestionNumber == marathonDetailModel.totalQuestions!) { isGettingQualifiers = true; updateQuestionCardStatus(QuestionCardStatus.findingWinner); timer.cancel(); cancelTimer(); notifyListeners(); } + totalCurrentQuestionTime--; + } + + if (totalCurrentQuestionTime == 0) { + gapTimeImage = currentQuestion.gapImage; + gapTimeText = currentQuestion.gapText; + gapTimeType = currentQuestion.gapType; + updateCardData(); + return; } else { if (totalCurrentQuestionTime != currentGapTime) { diff --git a/lib/ui/marathon/widgets/countdown_timer_detail_screen.dart b/lib/ui/marathon/widgets/countdown_timer_detail_screen.dart index 2f5f727..8cc4f93 100644 --- a/lib/ui/marathon/widgets/countdown_timer_detail_screen.dart +++ b/lib/ui/marathon/widgets/countdown_timer_detail_screen.dart @@ -10,6 +10,7 @@ import 'package:mohem_flutter_app/classes/colors.dart'; import 'package:mohem_flutter_app/generated/locale_keys.g.dart'; import 'package:mohem_flutter_app/main.dart'; import 'package:mohem_flutter_app/ui/marathon/marathon_provider.dart'; +import 'package:mohem_flutter_app/ui/marathon/widgets/marathon_banner.dart'; class CountdownTimerForDetailScreen extends StatelessWidget { final int timeToMarathon; @@ -192,7 +193,8 @@ class CountdownTimerForDetailScreen extends StatelessWidget { @override Widget build(BuildContext context) { return CountdownTimer( - endTime: timeToMarathon, + endTime: dummyTime, + // endTime: timeToMarathon, onEnd: null, widgetBuilder: (BuildContext context, CurrentRemainingTime? time) { return buildCountdownTimer(time); diff --git a/lib/ui/marathon/widgets/marathon_progress_container.dart b/lib/ui/marathon/widgets/marathon_progress_container.dart index 29c9d8c..20763b6 100644 --- a/lib/ui/marathon/widgets/marathon_progress_container.dart +++ b/lib/ui/marathon/widgets/marathon_progress_container.dart @@ -31,7 +31,7 @@ class MarathonProgressContainer extends StatelessWidget { padding: const EdgeInsets.symmetric(vertical: 5, horizontal: 8), child: "${provider.currentQuestionNumber.toString()} / ${provider.marathonDetailModel.totalQuestions.toString()} ${LocaleKeys.question.tr()}".toText12(color: MyColors.white), ), - "${provider.totalMarathoners} ${LocaleKeys.marathoners.tr()}".toText14(), + "${provider.totalMarathoners} ${provider.totalMarathoners == 1 ? LocaleKeys.marathoner.tr() : LocaleKeys.marathoners.tr()}".toText14(), provider.questionCardStatus == QuestionCardStatus.question ? "00:${(provider.totalCurrentQuestionTime - provider.currentGapTime) < 10 ? "0${provider.totalCurrentQuestionTime - provider.currentGapTime}" : provider.totalCurrentQuestionTime - provider.currentGapTime}" .toText18(color: provider.totalCurrentQuestionTime - provider.currentGapTime < 5 ? MyColors.redColor : MyColors.black) @@ -46,9 +46,7 @@ class MarathonProgressContainer extends StatelessWidget { children: [ "${provider.currentQuestionNumber == 1 ? 0 : (((provider.currentQuestionNumber - 1) / provider.marathonDetailModel.totalQuestions!) * 100).toInt()}% ${LocaleKeys.completed.tr()}" .toText14(), - provider.isUserOutOfGame - ? LocaleKeys.youAreOutOfContest.tr().toText14(color: MyColors.redColor) - : const SizedBox(), + provider.isUserOutOfGame ? LocaleKeys.youAreOutOfContest.tr().toText14(color: MyColors.redColor) : const SizedBox(), ], ), ], @@ -97,21 +95,28 @@ class MarathonProgressContainer extends StatelessWidget { Widget roundContainer(Color color, bool isNeedLeftBorder) { if (isNeedLeftBorder) { return Row( - children: [ - Divider(thickness: 6, color: color).expanded, + children: [ + Divider( + thickness: 6, + color: color, + ).expanded, Container( + margin: EdgeInsets.zero, + padding: EdgeInsets.zero, width: 10, height: 10, - decoration: BoxDecoration(shape: BoxShape.circle, color: color), + decoration: BoxDecoration(shape: BoxShape.circle, color: color, border: Border.all(color: color, width: 2)), ), ], ).expanded; } return Container( + margin: EdgeInsets.zero, + padding: EdgeInsets.zero, width: 10, height: 10, - decoration: BoxDecoration(shape: BoxShape.circle, color: color), + decoration: BoxDecoration(shape: BoxShape.circle, color: color, border: Border.all(color: color, width: 2)), ); } } diff --git a/lib/ui/marathon/widgets/marathon_qualifiers_container.dart b/lib/ui/marathon/widgets/marathon_qualifiers_container.dart index ed5132e..e3c5d00 100644 --- a/lib/ui/marathon/widgets/marathon_qualifiers_container.dart +++ b/lib/ui/marathon/widgets/marathon_qualifiers_container.dart @@ -57,7 +57,7 @@ class _QualifiersContainerState extends State { children: [ widget.provider.totalQualifiers != null ? widget.provider.totalQualifiers.toString().toText30(color: MyColors.greenColor, isBold: true) : const SizedBox(), 2.width, - LocaleKeys.qualifiers.tr().toText16(color: MyColors.greenColor), + (widget.provider.totalQualifiers == 1 ? LocaleKeys.qualifier.tr() : LocaleKeys.qualifiers.tr()).toText16(color: MyColors.greenColor), ], ), ],