Removed GapTime for last question and some minor bugs fixed!

merge-requests/128/head
Faiz Hashmi 3 years ago
parent cdf016fc9b
commit 24c118a66e

@ -489,9 +489,11 @@
"sponsoredBy": "برعاية:", "sponsoredBy": "برعاية:",
"question": "سؤال", "question": "سؤال",
"marathoners": "الماراثون", "marathoners": "الماراثون",
"marathoner": "ماراثونر",
"prize": "جائزة:", "prize": "جائزة:",
"winnerSelection": "اختيار الفائز", "winnerSelection": "اختيار الفائز",
"qualifiers": "تصفيات", "qualifiers": "تصفيات",
"qualifier": "المؤهل",
"getReadyForContest": "استعد للمسابقة القادمة:", "getReadyForContest": "استعد للمسابقة القادمة:",
"winnerSelectedRandomly": "سيتم اختيار الفائز عشوائياً من بين التصفيات.", "winnerSelectedRandomly": "سيتم اختيار الفائز عشوائياً من بين التصفيات.",
"fingersCrossed": "تشابك الاصابع!!!", "fingersCrossed": "تشابك الاصابع!!!",

@ -478,6 +478,7 @@
"sponsoredBy": "Sponsored By:", "sponsoredBy": "Sponsored By:",
"question": "Question", "question": "Question",
"marathoners": "Marathoners", "marathoners": "Marathoners",
"marathoner": "Marathoner",
"prize": "Prize:", "prize": "Prize:",
"advancedSearch": "Advanced Search", "advancedSearch": "Advanced Search",
"openNot": "Open Notifications", "openNot": "Open Notifications",
@ -492,6 +493,7 @@
"none": "None", "none": "None",
"winnerSelection": "Winner Selection", "winnerSelection": "Winner Selection",
"qualifiers": "Qualifiers", "qualifiers": "Qualifiers",
"qualifier": "Qualifier",
"getReadyForContest": "Get Ready for the coming contest:", "getReadyForContest": "Get Ready for the coming contest:",
"winnerSelectedRandomly": "The winner will be selected randomly among the qualifiers.", "winnerSelectedRandomly": "The winner will be selected randomly among the qualifiers.",
"fingersCrossed": "Fingers Crossed!!!", "fingersCrossed": "Fingers Crossed!!!",

@ -29,7 +29,6 @@ class MarathonApiClient {
(json) { (json) {
MarathonGenericModel marathonModel = MarathonGenericModel.fromJson(json); MarathonGenericModel marathonModel = MarathonGenericModel.fromJson(json);
AppState().setMarathonToken = marathonModel.data["token"] ?? ""; AppState().setMarathonToken = marathonModel.data["token"] ?? "";
print("marathonToken: ${"AppState(): ${AppState().getMarathonToken}"}");
return marathonModel.data["token"] ?? ""; return marathonModel.data["token"] ?? "";
}, },
ApiConsts.marathonParticipantLoginUrl, ApiConsts.marathonParticipantLoginUrl,

@ -498,9 +498,11 @@ class CodegenLoader extends AssetLoader {
"sponsoredBy": "برعاية:", "sponsoredBy": "برعاية:",
"question": "سؤال", "question": "سؤال",
"marathoners": "الماراثون", "marathoners": "الماراثون",
"marathoner": "ماراثونر",
"prize": "جائزة:", "prize": "جائزة:",
"winnerSelection": "اختيار الفائز", "winnerSelection": "اختيار الفائز",
"qualifiers": "تصفيات", "qualifiers": "تصفيات",
"qualifier": "المؤهل",
"getReadyForContest": "استعد للمسابقة القادمة:", "getReadyForContest": "استعد للمسابقة القادمة:",
"winnerSelectedRandomly": "سيتم اختيار الفائز عشوائياً من بين التصفيات.", "winnerSelectedRandomly": "سيتم اختيار الفائز عشوائياً من بين التصفيات.",
"fingersCrossed": "تشابك الاصابع!!!", "fingersCrossed": "تشابك الاصابع!!!",
@ -1000,6 +1002,7 @@ class CodegenLoader extends AssetLoader {
"sponsoredBy": "Sponsored By:", "sponsoredBy": "Sponsored By:",
"question": "Question", "question": "Question",
"marathoners": "Marathoners", "marathoners": "Marathoners",
"marathoner": "Marathoner",
"prize": "Prize:", "prize": "Prize:",
"advancedSearch": "Advanced Search", "advancedSearch": "Advanced Search",
"openNot": "Open Notifications", "openNot": "Open Notifications",
@ -1014,6 +1017,7 @@ class CodegenLoader extends AssetLoader {
"none": "None", "none": "None",
"winnerSelection": "Winner Selection", "winnerSelection": "Winner Selection",
"qualifiers": "Qualifiers", "qualifiers": "Qualifiers",
"qualifier": "Qualifier",
"getReadyForContest": "Get Ready for the coming contest:", "getReadyForContest": "Get Ready for the coming contest:",
"winnerSelectedRandomly": "The winner will be selected randomly among the qualifiers.", "winnerSelectedRandomly": "The winner will be selected randomly among the qualifiers.",
"fingersCrossed": "Fingers Crossed!!!", "fingersCrossed": "Fingers Crossed!!!",

@ -475,9 +475,11 @@ abstract class LocaleKeys {
static const sponsoredBy = 'sponsoredBy'; static const sponsoredBy = 'sponsoredBy';
static const question = 'question'; static const question = 'question';
static const marathoners = 'marathoners'; static const marathoners = 'marathoners';
static const marathoner = 'marathoner';
static const prize = 'prize'; static const prize = 'prize';
static const winnerSelection = 'winnerSelection'; static const winnerSelection = 'winnerSelection';
static const qualifiers = 'qualifiers'; static const qualifiers = 'qualifiers';
static const qualifier = 'qualifier';
static const getReadyForContest = 'getReadyForContest'; static const getReadyForContest = 'getReadyForContest';
static const winnerSelectedRandomly = 'winnerSelectedRandomly'; static const winnerSelectedRandomly = 'winnerSelectedRandomly';
static const fingersCrossed = 'fingersCrossed'; static const fingersCrossed = 'fingersCrossed';

@ -136,6 +136,8 @@ class MarathonProvider extends ChangeNotifier {
notifyListeners(); notifyListeners();
} }
// 9c47d281-c5b5-4b5d-a90a-08dacb8cbdb6
// MarathonI
//****************TIMERS********** //****************TIMERS**********
int sponsorsSecondsCounter = 0; int sponsorsSecondsCounter = 0;
@ -208,8 +210,6 @@ class MarathonProvider extends ChangeNotifier {
} }
if (totalCurrentQuestionTime == currentGapTime) { if (totalCurrentQuestionTime == currentGapTime) {
totalCurrentQuestionTime--;
updateCardStatusToAnswer(); updateCardStatusToAnswer();
scheduleMicrotask(() async { scheduleMicrotask(() async {
@ -222,20 +222,23 @@ class MarathonProvider extends ChangeNotifier {
}); });
} }
}); });
}
if (totalCurrentQuestionTime == 0) { if (currentQuestionNumber == marathonDetailModel.totalQuestions!) {
gapTimeImage = currentQuestion.gapImage;
gapTimeText = currentQuestion.gapText;
gapTimeType = currentQuestion.gapType;
updateCardData();
if (currentQuestionNumber - 1 == marathonDetailModel.totalQuestions!) {
isGettingQualifiers = true; isGettingQualifiers = true;
updateQuestionCardStatus(QuestionCardStatus.findingWinner); updateQuestionCardStatus(QuestionCardStatus.findingWinner);
timer.cancel(); timer.cancel();
cancelTimer(); cancelTimer();
notifyListeners(); notifyListeners();
} }
totalCurrentQuestionTime--;
}
if (totalCurrentQuestionTime == 0) {
gapTimeImage = currentQuestion.gapImage;
gapTimeText = currentQuestion.gapText;
gapTimeType = currentQuestion.gapType;
updateCardData();
return; return;
} else { } else {
if (totalCurrentQuestionTime != currentGapTime) { if (totalCurrentQuestionTime != currentGapTime) {

@ -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/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/main.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/marathon_provider.dart';
import 'package:mohem_flutter_app/ui/marathon/widgets/marathon_banner.dart';
class CountdownTimerForDetailScreen extends StatelessWidget { class CountdownTimerForDetailScreen extends StatelessWidget {
final int timeToMarathon; final int timeToMarathon;
@ -192,7 +193,8 @@ class CountdownTimerForDetailScreen extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return CountdownTimer( return CountdownTimer(
endTime: timeToMarathon, endTime: dummyTime,
// endTime: timeToMarathon,
onEnd: null, onEnd: null,
widgetBuilder: (BuildContext context, CurrentRemainingTime? time) { widgetBuilder: (BuildContext context, CurrentRemainingTime? time) {
return buildCountdownTimer(time); return buildCountdownTimer(time);

@ -31,7 +31,7 @@ class MarathonProgressContainer extends StatelessWidget {
padding: const EdgeInsets.symmetric(vertical: 5, horizontal: 8), padding: const EdgeInsets.symmetric(vertical: 5, horizontal: 8),
child: "${provider.currentQuestionNumber.toString()} / ${provider.marathonDetailModel.totalQuestions.toString()} ${LocaleKeys.question.tr()}".toText12(color: MyColors.white), 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 provider.questionCardStatus == QuestionCardStatus.question
? "00:${(provider.totalCurrentQuestionTime - provider.currentGapTime) < 10 ? "0${provider.totalCurrentQuestionTime - provider.currentGapTime}" : provider.totalCurrentQuestionTime - provider.currentGapTime}" ? "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) .toText18(color: provider.totalCurrentQuestionTime - provider.currentGapTime < 5 ? MyColors.redColor : MyColors.black)
@ -46,9 +46,7 @@ class MarathonProgressContainer extends StatelessWidget {
children: <Widget>[ children: <Widget>[
"${provider.currentQuestionNumber == 1 ? 0 : (((provider.currentQuestionNumber - 1) / provider.marathonDetailModel.totalQuestions!) * 100).toInt()}% ${LocaleKeys.completed.tr()}" "${provider.currentQuestionNumber == 1 ? 0 : (((provider.currentQuestionNumber - 1) / provider.marathonDetailModel.totalQuestions!) * 100).toInt()}% ${LocaleKeys.completed.tr()}"
.toText14(), .toText14(),
provider.isUserOutOfGame provider.isUserOutOfGame ? LocaleKeys.youAreOutOfContest.tr().toText14(color: MyColors.redColor) : const SizedBox(),
? LocaleKeys.youAreOutOfContest.tr().toText14(color: MyColors.redColor)
: const SizedBox(),
], ],
), ),
], ],
@ -97,21 +95,28 @@ class MarathonProgressContainer extends StatelessWidget {
Widget roundContainer(Color color, bool isNeedLeftBorder) { Widget roundContainer(Color color, bool isNeedLeftBorder) {
if (isNeedLeftBorder) { if (isNeedLeftBorder) {
return Row( return Row(
children: [ children: <Widget>[
Divider(thickness: 6, color: color).expanded, Divider(
thickness: 6,
color: color,
).expanded,
Container( Container(
margin: EdgeInsets.zero,
padding: EdgeInsets.zero,
width: 10, width: 10,
height: 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; ).expanded;
} }
return Container( return Container(
margin: EdgeInsets.zero,
padding: EdgeInsets.zero,
width: 10, width: 10,
height: 10, height: 10,
decoration: BoxDecoration(shape: BoxShape.circle, color: color), decoration: BoxDecoration(shape: BoxShape.circle, color: color, border: Border.all(color: color, width: 2)),
); );
} }
} }

@ -57,7 +57,7 @@ class _QualifiersContainerState extends State<QualifiersContainer> {
children: <Widget>[ children: <Widget>[
widget.provider.totalQualifiers != null ? widget.provider.totalQualifiers.toString().toText30(color: MyColors.greenColor, isBold: true) : const SizedBox(), widget.provider.totalQualifiers != null ? widget.provider.totalQualifiers.toString().toText30(color: MyColors.greenColor, isBold: true) : const SizedBox(),
2.width, 2.width,
LocaleKeys.qualifiers.tr().toText16(color: MyColors.greenColor), (widget.provider.totalQualifiers == 1 ? LocaleKeys.qualifier.tr() : LocaleKeys.qualifiers.tr()).toText16(color: MyColors.greenColor),
], ],
), ),
], ],

Loading…
Cancel
Save