diff --git a/assets/images/drawer/drawer_marathon.svg b/assets/images/drawer/drawer_marathon.svg
new file mode 100644
index 0000000..33b6c02
--- /dev/null
+++ b/assets/images/drawer/drawer_marathon.svg
@@ -0,0 +1,3 @@
+
diff --git a/assets/images/winner_ribbon.svg b/assets/images/winner_ribbon.svg
new file mode 100644
index 0000000..7a6fbd7
--- /dev/null
+++ b/assets/images/winner_ribbon.svg
@@ -0,0 +1,10 @@
+
diff --git a/lib/classes/decorations_helper.dart b/lib/classes/decorations_helper.dart
index 67139b8..77ea4a4 100644
--- a/lib/classes/decorations_helper.dart
+++ b/lib/classes/decorations_helper.dart
@@ -14,9 +14,12 @@ class MyDecorations {
],
);
- static Decoration answerContainerDecoration = BoxDecoration(
- borderRadius: BorderRadius.circular(10),
- color: MyColors.greyF7Color,
- border: Border.all(width: 1, color: MyColors.lightGreyEFColor),
- );
+ static Decoration getContainersDecoration(Color color) {
+ Decoration answerContainerDecoration = BoxDecoration(
+ borderRadius: BorderRadius.circular(10),
+ color: color,
+ border: Border.all(width: 1, color: MyColors.lightGreyEFColor),
+ );
+ return answerContainerDecoration;
+ }
}
diff --git a/lib/provider/dashboard_provider_model.dart b/lib/provider/dashboard_provider_model.dart
index 9396704..5b9f8f1 100644
--- a/lib/provider/dashboard_provider_model.dart
+++ b/lib/provider/dashboard_provider_model.dart
@@ -103,7 +103,7 @@ class DashboardProviderModel with ChangeNotifier, DiagnosticableTreeMixin {
DrawerMenuItem("assets/images/drawer/performance_evaluation.svg", LocaleKeys.performanceEvaluation.tr(), AppRoutes.performanceEvaluation),
DrawerMenuItem("assets/images/drawer/mowadhafi.svg", LocaleKeys.mowadhafhi.tr(), AppRoutes.mowadhafhi),
DrawerMenuItem("assets/images/drawer/pending_trasactions.svg", LocaleKeys.pendingTransactions.tr(), AppRoutes.pendingTransactions),
- DrawerMenuItem("assets/images/drawer/pending_trasactions.svg", LocaleKeys.brainMarathon.tr(), AppRoutes.marathonIntroScreen),
+ DrawerMenuItem("assets/images/drawer/drawer_marathon.svg", LocaleKeys.brainMarathon.tr(), AppRoutes.marathonIntroScreen),
DrawerMenuItem("assets/images/drawer/change_password.svg", LocaleKeys.changePassword.tr(), AppRoutes.changePassword),
];
diff --git a/lib/ui/marathon/marathon_intro_screen.dart b/lib/ui/marathon/marathon_intro_screen.dart
index 9ccf5b0..f836229 100644
--- a/lib/ui/marathon/marathon_intro_screen.dart
+++ b/lib/ui/marathon/marathon_intro_screen.dart
@@ -11,7 +11,7 @@ import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/ui/marathon/marathon_provider.dart';
import 'package:mohem_flutter_app/ui/marathon/widgets/countdown_timer.dart';
-import 'package:mohem_flutter_app/ui/marathon/widgets/marathon_header.dart';
+import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'package:mohem_flutter_app/widgets/button/default_button.dart';
import 'package:provider/provider.dart';
@@ -24,18 +24,20 @@ class MarathonIntroScreen extends StatelessWidget {
Widget build(BuildContext context) {
MarathonProvider provider = context.watch();
return Scaffold(
+ appBar: AppBarWidget(context, title: LocaleKeys.brainMarathon.tr()),
body: Stack(
children: [
SingleChildScrollView(
child: Column(
children: [
- const MarathonHeader(),
MarathonDetailsCard(provider: provider).paddingAll(15),
MarathonTimerCard(
provider: provider,
timeToMarathon: dummyEndTime,
).paddingOnly(left: 15, right: 15, bottom: 15),
- const SizedBox(height: 100,),
+ const SizedBox(
+ height: 100,
+ ),
],
),
),
@@ -52,8 +54,7 @@ class MarathonIntroScreen extends StatelessWidget {
class MarathonDetailsCard extends StatelessWidget {
final MarathonProvider provider;
- const MarathonDetailsCard({Key? key, required this.provider})
- : super(key: key);
+ const MarathonDetailsCard({Key? key, required this.provider}) : super(key: key);
@override
Widget build(BuildContext context) {
@@ -68,17 +69,12 @@ class MarathonDetailsCard extends StatelessWidget {
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
- LocaleKeys.contestTopicAbout
- .tr()
- .toText16(color: MyColors.grey77Color),
- "Saudi Arabia"
- .toText20(color: MyColors.textMixColor, isBold: true),
+ LocaleKeys.contestTopicAbout.tr().toText16(color: MyColors.grey77Color),
+ "Saudi Arabia".toText20(color: MyColors.textMixColor, isBold: true),
Row(
children: [
Flexible(
- child:
- "Nam suscipit turpis in pharetra euismsdef. Duis rutrum at nulla id aliquam"
- .toText14(color: MyColors.grey77Color),
+ child: "Nam suscipit turpis in pharetra euismsdef. Duis rutrum at nulla id aliquam".toText14(color: MyColors.grey77Color),
)
],
),
@@ -86,31 +82,25 @@ class MarathonDetailsCard extends StatelessWidget {
5.height,
Row(
children: [
- LocaleKeys.prize
- .tr()
- .toText16(color: MyColors.grey77Color, isBold: true),
- " LED 55\" Android TV"
- .toText16(color: MyColors.greenColor, isBold: true),
+ LocaleKeys.prize.tr().toText16(color: MyColors.grey77Color, isBold: true),
+ " LED 55\" Android TV".toText16(color: MyColors.greenColor, isBold: true),
],
),
Row(
children: [
- LocaleKeys.sponsoredBy
- .tr()
- .toText16(color: MyColors.grey77Color),
- " Extra"
- .toText16(color: MyColors.darkTextColor, isBold: true),
+ LocaleKeys.sponsoredBy.tr().toText16(color: MyColors.grey77Color),
+ " Extra".toText16(color: MyColors.darkTextColor, isBold: true),
],
),
10.height,
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
- Image.network(
- "https://cdn.pixabay.com/photo/2014/08/27/07/53/blog-428950_1280.jpg",
- height: 50,
+ Image.asset(
+ "assets/images/logos/main_mohemm_logo.png",
+ height: 40,
fit: BoxFit.fill,
- width: 120,
+ width: 150,
)
],
),
@@ -144,8 +134,7 @@ class MarathonTimerCard extends StatelessWidget {
Row(
children: [
LocaleKeys.gameDate.tr().toText16(color: MyColors.grey77Color),
- " 10 Oct, 2022"
- .toText16(color: MyColors.darkTextColor, isBold: true),
+ " 10 Oct, 2022".toText16(color: MyColors.darkTextColor, isBold: true),
],
),
Row(
@@ -156,7 +145,7 @@ class MarathonTimerCard extends StatelessWidget {
),
Lottie.asset(
MyLottieConsts.hourGlassLottie,
- height: 140,
+ height: 200,
),
BuildCountdownTimer(
timeToMarathon: timeToMarathon,
diff --git a/lib/ui/marathon/marathon_provider.dart b/lib/ui/marathon/marathon_provider.dart
index 39958c2..5a03b74 100644
--- a/lib/ui/marathon/marathon_provider.dart
+++ b/lib/ui/marathon/marathon_provider.dart
@@ -2,7 +2,9 @@ import 'dart:async';
import 'package:appinio_swiper/appinio_swiper.dart';
import 'package:flutter/cupertino.dart';
+import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/config/routes.dart';
+import 'package:mohem_flutter_app/ui/marathon/widgets/question_card.dart';
class MarathonProvider extends ChangeNotifier {
final AppinioSwiperController swiperController = AppinioSwiperController();
@@ -41,11 +43,18 @@ class MarathonProvider extends ChangeNotifier {
notifyListeners();
}
+ void resetAll() {
+ isSelectedOptions[0] = false;
+ isSelectedOptions[1] = false;
+ isSelectedOptions[2] = false;
+ isSelectedOptions[3] = false;
+ }
+
Timer timerU = Timer.periodic(const Duration(seconds: 1), (Timer timer) {});
- int start = 5;
+ int start = 8;
void startTimer(BuildContext context) {
- start = 5;
+ start = 8;
const Duration oneSec = Duration(seconds: 1);
timerU = Timer.periodic(
oneSec,
@@ -66,9 +75,10 @@ class MarathonProvider extends ChangeNotifier {
return;
}
- swipeCardLeft();
+ resetAll();
timer.cancel();
cancelTimer();
+ swipeCardLeft();
} else {
start--;
}
diff --git a/lib/ui/marathon/marathon_screen.dart b/lib/ui/marathon/marathon_screen.dart
index d8f1b97..d548122 100644
--- a/lib/ui/marathon/marathon_screen.dart
+++ b/lib/ui/marathon/marathon_screen.dart
@@ -13,8 +13,8 @@ import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/ui/marathon/marathon_provider.dart';
import 'package:mohem_flutter_app/ui/marathon/widgets/custom_status_widget.dart';
-import 'package:mohem_flutter_app/ui/marathon/widgets/marathon_header.dart';
import 'package:mohem_flutter_app/ui/marathon/widgets/question_card.dart';
+import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'package:provider/provider.dart';
import 'package:steps_indicator/steps_indicator.dart';
@@ -25,11 +25,11 @@ class MarathonScreen extends StatelessWidget {
Widget build(BuildContext context) {
MarathonProvider provider = context.watch();
return Scaffold(
+ appBar: AppBarWidget(context, title: LocaleKeys.brainMarathon.tr()),
body: SingleChildScrollView(
child: Column(
children: [
- const MarathonHeader(),
- 20.height,
+ 20.height,
MarathonProgressContainer(provider: provider).paddingOnly(left: 21, right: 21),
if (provider.isMarathonCompleted)
InkWell(
diff --git a/lib/ui/marathon/marathon_winner_selection.dart b/lib/ui/marathon/marathon_winner_selection.dart
index c69f54f..8462ab4 100644
--- a/lib/ui/marathon/marathon_winner_selection.dart
+++ b/lib/ui/marathon/marathon_winner_selection.dart
@@ -13,7 +13,7 @@ import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/ui/marathon/marathon_provider.dart';
import 'package:mohem_flutter_app/ui/marathon/widgets/custom_status_widget.dart';
-import 'package:mohem_flutter_app/ui/marathon/widgets/marathon_header.dart';
+import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'package:provider/provider.dart';
class MarathonWinnerSelection extends StatelessWidget {
@@ -23,13 +23,12 @@ class MarathonWinnerSelection extends StatelessWidget {
Widget build(BuildContext context) {
MarathonProvider provider = context.read();
return Scaffold(
+ appBar: AppBarWidget(context, title: LocaleKeys.brainMarathon.tr()),
body: SingleChildScrollView(
child: Column(
children: [
- const MarathonHeader(),
20.height,
- QualifiersContainer(provider: provider)
- .paddingOnly(left: 21, right: 21),
+ QualifiersContainer(provider: provider).paddingOnly(left: 21, right: 21),
20.height,
InkWell(
onTap: () {
@@ -53,8 +52,7 @@ class MarathonWinnerSelection extends StatelessWidget {
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
- "Muhammad Shrouff"
- .toText18(isBold: true, color: MyColors.white),
+ "Muhammad Shrouff".toText18(isBold: true, color: MyColors.white),
"837436".toText18(isBold: true, color: MyColors.white),
],
),
@@ -96,8 +94,7 @@ class MarathonWinnerSelection extends StatelessWidget {
class QualifiersContainer extends StatefulWidget {
final MarathonProvider provider;
- const QualifiersContainer({Key? key, required this.provider})
- : super(key: key);
+ const QualifiersContainer({Key? key, required this.provider}) : super(key: key);
@override
State createState() => _QualifiersContainerState();
@@ -134,11 +131,8 @@ class _QualifiersContainerState extends State {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
- LocaleKeys.winnerSelection
- .tr()
- .toText18(isBold: true, color: MyColors.grey3AColor),
- "00:${widget.provider.start < 10 ? "0${widget.provider.start}" : widget.provider.start}"
- .toText18(isBold: true, color: MyColors.redColor),
+ LocaleKeys.winnerSelection.tr().toText18(isBold: true, color: MyColors.grey3AColor),
+ "00:${widget.provider.start < 10 ? "0${widget.provider.start}" : widget.provider.start}".toText18(isBold: true, color: MyColors.redColor),
],
),
10.height,
diff --git a/lib/ui/marathon/widgets/countdown_timer.dart b/lib/ui/marathon/widgets/countdown_timer.dart
index 3c4f790..557cfd3 100644
--- a/lib/ui/marathon/widgets/countdown_timer.dart
+++ b/lib/ui/marathon/widgets/countdown_timer.dart
@@ -33,8 +33,9 @@ class BuildCountdownTimer extends StatelessWidget {
color: MyColors.white,
fontSize: 24,
fontStyle: FontStyle.italic,
+ fontFamily: "Poppins",
letterSpacing: -1.44,
- fontWeight: FontWeight.w600,
+ fontWeight: FontWeight.bold,
);
final TextStyle styleTextMarathon = const TextStyle(
@@ -141,15 +142,11 @@ class BuildCountdownTimer extends StatelessWidget {
time.days == null
? Text(
"00",
- style:
- screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
+ style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
)
: Text(
- time.days! < 10
- ? "0${time.days.toString()}"
- : time.days.toString(),
- style:
- screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
+ time.days! < 10 ? "0${time.days.toString()}" : time.days.toString(),
+ style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
),
Text(
LocaleKeys.days.tr(),
@@ -163,15 +160,11 @@ class BuildCountdownTimer extends StatelessWidget {
time.hours == null
? Text(
"00",
- style:
- screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
+ style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
)
: Text(
- time.hours! < 10
- ? "0${time.hours.toString()}"
- : time.hours.toString(),
- style:
- screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
+ time.hours! < 10 ? "0${time.hours.toString()}" : time.hours.toString(),
+ style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
),
Text(
LocaleKeys.hours.tr(),
@@ -185,15 +178,11 @@ class BuildCountdownTimer extends StatelessWidget {
time.min == null
? Text(
"00",
- style:
- screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
+ style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
)
: Text(
- time.min! < 10
- ? "0${time.min.toString()}"
- : time.min.toString(),
- style:
- screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
+ time.min! < 10 ? "0${time.min.toString()}" : time.min.toString(),
+ style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
),
Text(
LocaleKeys.minutes.tr(),
@@ -207,15 +196,11 @@ class BuildCountdownTimer extends StatelessWidget {
time.sec == null
? Text(
"00",
- style:
- screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
+ style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
)
: Text(
- time.sec! < 10
- ? "0${time.sec.toString()}"
- : time.sec.toString(),
- style:
- screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
+ time.sec! < 10 ? "0${time.sec.toString()}" : time.sec.toString(),
+ style: screenFlag == 0 ? styleDigitHome : styleDigitMarathon,
),
Text(
LocaleKeys.seconds.tr(),
diff --git a/lib/ui/marathon/widgets/marathon_banner.dart b/lib/ui/marathon/widgets/marathon_banner.dart
index 44bca40..be06e35 100644
--- a/lib/ui/marathon/widgets/marathon_banner.dart
+++ b/lib/ui/marathon/widgets/marathon_banner.dart
@@ -1,3 +1,4 @@
+import 'package:auto_size_text/auto_size_text.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/flutter_svg.dart';
@@ -22,6 +23,7 @@ class MarathonBanner extends StatelessWidget {
MarathonProvider provider = context.read();
return Container(
decoration: MyDecorations.shadowDecoration,
+ height: 90,
child: Stack(
children: [
Transform(
@@ -35,50 +37,69 @@ class MarathonBanner extends StatelessWidget {
width: MediaQuery.of(context).size.width - 40,
),
),
- Row(
- mainAxisAlignment: MainAxisAlignment.end,
- children: [
- Column(
- mainAxisAlignment: MainAxisAlignment.center,
- mainAxisSize: MainAxisSize.min,
- children: [
- AppState().isArabic(context) ? 0.height : 5.height,
- Flexible(
- child: Text(
- LocaleKeys.getReadyForContest.tr(),
- style: const TextStyle(
- fontStyle: FontStyle.italic,
- fontSize: 12,
- fontWeight: FontWeight.w600,
- color: MyColors.lightGreyEFColor,
- letterSpacing: -0.4,
- ),
- ),
+ SizedBox(
+ width: double.infinity,
+ height: double.infinity,
+ child: Row(
+ children: [
+ const Expanded(
+ flex: 3,
+ child: SizedBox(
+ width: double.infinity,
+ height: double.infinity,
),
- const Flexible(
- child: Text(
- "Saudi Arabia",
- style: TextStyle(
- fontStyle: FontStyle.italic,
- fontSize: 19,
- fontWeight: FontWeight.bold,
- color: MyColors.lightGreyEFColor,
- height: 32 / 22,
- ),
- ),
+ ),
+ Expanded(
+ flex: 5,
+ child: SizedBox(
+ width: double.infinity,
+ height: double.infinity,
+ child: Row(
+ mainAxisAlignment: MainAxisAlignment.end,
+ children: [
+ Column(
+ mainAxisAlignment: MainAxisAlignment.center,
+ crossAxisAlignment: CrossAxisAlignment.start,
+ mainAxisSize: MainAxisSize.min,
+ children: [
+ AppState().isArabic(context) ? 0.height : 5.height,
+ AutoSizeText(
+ LocaleKeys.getReadyForContest.tr(),
+ style: const TextStyle(
+ fontStyle: FontStyle.italic,
+ fontSize: 12,
+ fontWeight: FontWeight.w600,
+ color: MyColors.lightGreyEFColor,
+ letterSpacing: -0.4,
+ ),
+ ),
+ const AutoSizeText(
+ "Saudi Arabia",
+ style: TextStyle(
+ fontStyle: FontStyle.italic,
+ fontSize: 19,
+ fontWeight: FontWeight.bold,
+ color: MyColors.lightGreyEFColor,
+ height: 32 / 22,
+ ),
+ ),
+ 3.height,
+ BuildCountdownTimer(
+ timeToMarathon: dummyEndTime,
+ provider: provider,
+ screenFlag: 0,
+ ),
+ ],
+ ).paddingOnly(
+ left: AppState().isArabic(context) ? 12 : 0,
+ right: AppState().isArabic(context) ? 0 : 12,
+ )
+ ],
+ ).paddingOnly(right: 20),
),
- 3.height,
- BuildCountdownTimer(
- timeToMarathon: dummyEndTime,
- provider: provider,
- screenFlag: 0,
- ),
- ],
- ).paddingOnly(
- left: AppState().isArabic(context) ? 12 : 0,
- right: AppState().isArabic(context) ? 0 : 12,
- )
- ],
+ ),
+ ],
+ ),
),
],
).onPress(
diff --git a/lib/ui/marathon/widgets/question_card.dart b/lib/ui/marathon/widgets/question_card.dart
index 45fa6cc..d5f6bce 100644
--- a/lib/ui/marathon/widgets/question_card.dart
+++ b/lib/ui/marathon/widgets/question_card.dart
@@ -8,6 +8,13 @@ import 'package:mohem_flutter_app/models/marathon_question_model.dart';
import 'package:mohem_flutter_app/ui/marathon/marathon_provider.dart';
import 'package:provider/provider.dart';
+List isSelectedOptions = [
+ false,
+ false,
+ false,
+ false,
+];
+
class QuestionCard extends StatefulWidget {
final MarathonProvider provider;
@@ -18,7 +25,7 @@ class QuestionCard extends StatefulWidget {
}
class _QuestionCardState extends State {
- final List questionCards = [];
+ final List questionCards = [];
@override
void initState() {
@@ -29,7 +36,7 @@ class _QuestionCardState extends State {
void _loadCards() {
for (DummyQuestionModel question in questions) {
questionCards.add(
- QuestionContent(
+ CardContent(
question: question,
provider: widget.provider,
),
@@ -64,11 +71,11 @@ class _QuestionCardState extends State {
}
}
-class QuestionContent extends StatelessWidget {
+class CardContent extends StatelessWidget {
final DummyQuestionModel question;
final MarathonProvider provider;
- const QuestionContent({
+ const CardContent({
Key? key,
required this.question,
required this.provider,
@@ -131,12 +138,38 @@ class QuestionContent extends StatelessWidget {
}
}
-class AnswerContent extends StatelessWidget {
+class AnswerContent extends StatefulWidget {
final DummyQuestionModel question;
final MarathonProvider provider;
const AnswerContent({Key? key, required this.question, required this.provider}) : super(key: key);
+ @override
+ State createState() => _AnswerContentState();
+}
+
+class _AnswerContentState extends State {
+ void updateOption(int index, bool value) {
+ isSelectedOptions[0] = false;
+ isSelectedOptions[1] = false;
+ isSelectedOptions[2] = false;
+ isSelectedOptions[3] = false;
+ isSelectedOptions[index] = value;
+ setState(() {});
+ }
+
+ Decoration getContainerColor(int index) {
+ if (!isSelectedOptions[index]) {
+ return MyDecorations.getContainersDecoration(MyColors.greyF7Color);
+ }
+ if (isSelectedOptions[index] && context.watch().start > 0) {
+ return MyDecorations.getContainersDecoration(MyColors.yellowColorII);
+ }
+ return MyDecorations.getContainersDecoration(
+ isSelectedOptions[index] ? MyColors.greenColor : MyColors.greyF7Color,
+ );
+ }
+
@override
Widget build(BuildContext context) {
return Container(
@@ -155,29 +188,27 @@ class AnswerContent extends StatelessWidget {
children: [
InkWell(
onTap: () {
- if (provider.currentQuestionNumber == 9) {
- provider.cancelTimer();
- provider.resetValues();
+ if (widget.provider.currentQuestionNumber == 9) {
+ widget.provider.cancelTimer();
+ widget.provider.resetValues();
Navigator.pushReplacementNamed(
context,
AppRoutes.marathonWinnerSelection,
);
return;
}
- provider.cancelTimer();
- provider.startTimer(context);
- provider.swipeCardLeft();
+ updateOption(0, true);
},
child: Container(
height: 60,
width: MediaQuery.of(context).size.width - 75,
alignment: Alignment.centerLeft,
- decoration: MyDecorations.answerContainerDecoration,
+ decoration: getContainerColor(0),
child: Center(
child: Text(
- question.opt1!,
- style: const TextStyle(
- color: MyColors.darkTextColor,
+ widget.question.opt1!,
+ style: TextStyle(
+ color: isSelectedOptions[0] ? MyColors.white : MyColors.darkTextColor,
fontWeight: FontWeight.w600,
fontSize: 16,
),
@@ -188,29 +219,27 @@ class AnswerContent extends StatelessWidget {
const SizedBox(height: 15),
InkWell(
onTap: () {
- if (provider.currentQuestionNumber == 9) {
- provider.cancelTimer();
- provider.resetValues();
+ if (widget.provider.currentQuestionNumber == 9) {
+ widget.provider.cancelTimer();
+ widget.provider.resetValues();
Navigator.pushReplacementNamed(
context,
AppRoutes.marathonWinnerSelection,
);
return;
}
- provider.cancelTimer();
- provider.startTimer(context);
- provider.swipeCardLeft();
+ updateOption(1, true);
},
child: Container(
height: 60,
width: MediaQuery.of(context).size.width - 75,
alignment: Alignment.centerLeft,
- decoration: MyDecorations.answerContainerDecoration,
+ decoration: getContainerColor(1),
child: Center(
child: Text(
- question.opt2!,
- style: const TextStyle(
- color: MyColors.darkTextColor,
+ widget.question.opt2!,
+ style: TextStyle(
+ color: isSelectedOptions[1] ? MyColors.white : MyColors.darkTextColor,
fontWeight: FontWeight.w600,
fontSize: 16,
),
@@ -221,29 +250,27 @@ class AnswerContent extends StatelessWidget {
const SizedBox(height: 15),
InkWell(
onTap: () {
- if (provider.currentQuestionNumber == 9) {
- provider.cancelTimer();
- provider.resetValues();
+ if (widget.provider.currentQuestionNumber == 9) {
+ widget.provider.cancelTimer();
+ widget.provider.resetValues();
Navigator.pushReplacementNamed(
context,
AppRoutes.marathonWinnerSelection,
);
return;
}
- provider.cancelTimer();
- provider.startTimer(context);
- provider.swipeCardLeft();
+ updateOption(2, true);
},
child: Container(
height: 60,
width: MediaQuery.of(context).size.width - 75,
alignment: Alignment.centerLeft,
- decoration: MyDecorations.answerContainerDecoration,
+ decoration: getContainerColor(2),
child: Center(
child: Text(
- question.opt3!,
- style: const TextStyle(
- color: MyColors.darkTextColor,
+ widget.question.opt3!,
+ style: TextStyle(
+ color: isSelectedOptions[2] ? MyColors.white : MyColors.darkTextColor,
fontWeight: FontWeight.w600,
fontSize: 16,
),
@@ -254,29 +281,27 @@ class AnswerContent extends StatelessWidget {
const SizedBox(height: 15),
InkWell(
onTap: () {
- if (provider.currentQuestionNumber == 9) {
- provider.cancelTimer();
- provider.resetValues();
+ if (widget.provider.currentQuestionNumber == 9) {
+ widget.provider.cancelTimer();
+ widget.provider.resetValues();
Navigator.pushReplacementNamed(
context,
AppRoutes.marathonWinnerSelection,
);
return;
}
- provider.cancelTimer();
- provider.startTimer(context);
- provider.swipeCardLeft();
+ updateOption(3, true);
},
child: Container(
height: 60,
width: MediaQuery.of(context).size.width - 75,
alignment: Alignment.centerLeft,
- decoration: MyDecorations.answerContainerDecoration,
+ decoration: getContainerColor(3),
child: Center(
child: Text(
- question.opt3!,
- style: const TextStyle(
- color: MyColors.darkTextColor,
+ widget.question.opt3!,
+ style: TextStyle(
+ color: isSelectedOptions[3] ? MyColors.white : MyColors.darkTextColor,
fontWeight: FontWeight.w600,
fontSize: 16,
),
diff --git a/lib/ui/marathon/winner_screen.dart b/lib/ui/marathon/winner_screen.dart
index cdd3df0..8d6d171 100644
--- a/lib/ui/marathon/winner_screen.dart
+++ b/lib/ui/marathon/winner_screen.dart
@@ -1,5 +1,6 @@
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
+import 'package:flutter_svg/svg.dart';
import 'package:lottie/lottie.dart';
import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/classes/decorations_helper.dart';
@@ -8,7 +9,7 @@ import 'package:mohem_flutter_app/extensions/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
-import 'package:mohem_flutter_app/ui/marathon/widgets/marathon_header.dart';
+import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
class WinnerScreen extends StatelessWidget {
const WinnerScreen({Key? key}) : super(key: key);
@@ -17,10 +18,10 @@ class WinnerScreen extends StatelessWidget {
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: MyColors.backgroundColor,
+ appBar: AppBarWidget(context, title: LocaleKeys.brainMarathon.tr()),
body: SingleChildScrollView(
child: Column(
children: [
- const MarathonHeader(),
60.height,
Container(
width: double.infinity,
@@ -43,27 +44,43 @@ class WinnerScreen extends StatelessWidget {
],
),
),
- 50.height,
+ 26.height,
+ SizedBox(
+ height: 50,
+ child: Stack(
+ children: [
+ Align(
+ alignment: Alignment.center,
+ child: SvgPicture.asset(
+ "assets/images/winner_ribbon.svg",
+ height: 50,
+ ),
+ ),
+ Align(
+ alignment: Alignment.center,
+ child: "WINNER".toText32(color: MyColors.white, isBold: true).paddingOnly(top: 07),
+ )
+ ],
+ ),
+ ),
+ 12.height,
"Muhammad Shrouff".toText22(color: MyColors.grey3AColor),
"837436".toText22(color: MyColors.grey57Color),
- 90.height,
+ 80.height,
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
- LocaleKeys.sponsoredBy
- .tr()
- .toText14(color: MyColors.grey77Color),
- " Extra".toText14(
- color: MyColors.darkTextColor, isBold: true),
+ LocaleKeys.sponsoredBy.tr().toText14(color: MyColors.grey77Color),
+ " Extra".toText14(color: MyColors.darkTextColor, isBold: true),
],
),
5.height,
- Image.network(
- "https://cdn.pixabay.com/photo/2014/08/27/07/53/blog-428950_1280.jpg",
- height: 50,
+ Image.asset(
+ "assets/images/logos/main_mohemm_logo.png",
+ height: 40,
fit: BoxFit.fill,
- width: 120,
- ),
+ width: 150,
+ )
],
),
).paddingOnly(left: 21, right: 21),