Merge branch 'faiz_cs' into 'master'

Added Answer Selection Status in Marathon

See merge request Cloud_Solution/mohemm-flutter-app!38
merge-requests/37/merge
haroon amjad 3 years ago
commit ba588cd3a3

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="20.527" height="19.358" viewBox="0 0 20.527 19.358">
<path id="winner" d="M8.828,34.936H14.18v6.547H8V35.763A.829.829,0,0,1,8.828,34.936ZM25.106,22.124a1.353,1.353,0,1,1-1.353,1.353A1.353,1.353,0,0,1,25.106,22.124Zm0,3.068a2.678,2.678,0,0,1,2.558,1.884.612.612,0,0,1-.585.793H23.133a.612.612,0,0,1-.584-.793,2.678,2.678,0,0,1,2.558-1.884Zm-6.842-.661a1.353,1.353,0,1,1-1.353,1.353A1.353,1.353,0,0,1,18.264,24.532Zm0,3.068a2.678,2.678,0,0,1,2.558,1.884.612.612,0,0,1-.584.793H16.291a.612.612,0,0,1-.584-.793A2.678,2.678,0,0,1,18.264,27.6Zm-6.842-.661a1.353,1.353,0,1,1-1.353,1.353A1.353,1.353,0,0,1,11.421,26.939Zm0,3.068a2.678,2.678,0,0,1,2.558,1.884.612.612,0,0,1-.584.793H9.448a.612.612,0,0,1-.584-.793A2.678,2.678,0,0,1,11.421,30.008Zm11.091.269H27.7a.829.829,0,0,1,.828.828V41.482H21.685V31.1A.829.829,0,0,1,22.513,30.277Zm-1.49,2.408H15.67a.829.829,0,0,0-.828.828v7.97h6.18Z" transform="translate(-8 -22.124)" fill="#2e303a" fill-rule="evenodd"/>
</svg>

After

Width:  |  Height:  |  Size: 1008 B

@ -0,0 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" width="195.225" height="49.742" viewBox="0 0 195.225 49.742">
<g id="ribbon" transform="translate(0 -280.776)">
<g id="Group_8895" data-name="Group 8895" transform="translate(0 280.776)">
<path id="Path_14052" data-name="Path 14052" d="M.125,280.776l12.038,25.168L0,330.518H97.613l20.923-22.538-20.923-27.2Z" transform="translate(0 -280.776)" fill="#1fa269"/>
</g>
<g id="Group_8896" data-name="Group 8896" transform="translate(97.613 280.776)">
<path id="Path_14054" data-name="Path 14054" d="M341.49,305.762l12.074-24.986H256v49.742h97.613Z" transform="translate(-256 -280.776)" fill="#1a8959"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 687 B

@ -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;
}
}

@ -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),
];

@ -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<MarathonProvider>();
return Scaffold(
appBar: AppBarWidget(context, title: LocaleKeys.brainMarathon.tr()),
body: Stack(
children: <Widget>[
SingleChildScrollView(
child: Column(
children: <Widget>[
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: <Widget>[
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: <Widget>[
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: <Widget>[
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: <Widget>[
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: <Widget>[
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: <Widget>[
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,

@ -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--;
}

@ -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<MarathonProvider>();
return Scaffold(
appBar: AppBarWidget(context, title: LocaleKeys.brainMarathon.tr()),
body: SingleChildScrollView(
child: Column(
children: <Widget>[
const MarathonHeader(),
20.height,
20.height,
MarathonProgressContainer(provider: provider).paddingOnly(left: 21, right: 21),
if (provider.isMarathonCompleted)
InkWell(

@ -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<MarathonProvider>();
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: <Widget>[
"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<QualifiersContainer> createState() => _QualifiersContainerState();
@ -134,11 +131,8 @@ class _QualifiersContainerState extends State<QualifiersContainer> {
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
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,

@ -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(),

@ -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<MarathonProvider>();
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: <Widget>[
Column(
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
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: <Widget>[
Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
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(

@ -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<bool> isSelectedOptions = [
false,
false,
false,
false,
];
class QuestionCard extends StatefulWidget {
final MarathonProvider provider;
@ -18,7 +25,7 @@ class QuestionCard extends StatefulWidget {
}
class _QuestionCardState extends State<QuestionCard> {
final List<QuestionContent> questionCards = <QuestionContent>[];
final List<CardContent> questionCards = <CardContent>[];
@override
void initState() {
@ -29,7 +36,7 @@ class _QuestionCardState extends State<QuestionCard> {
void _loadCards() {
for (DummyQuestionModel question in questions) {
questionCards.add(
QuestionContent(
CardContent(
question: question,
provider: widget.provider,
),
@ -64,11 +71,11 @@ class _QuestionCardState extends State<QuestionCard> {
}
}
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<AnswerContent> createState() => _AnswerContentState();
}
class _AnswerContentState extends State<AnswerContent> {
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<MarathonProvider>().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: <Widget>[
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,
),

@ -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: <Widget>[
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: <Widget>[
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),

Loading…
Cancel
Save