| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -10,6 +10,7 @@ import 'package:mohem_flutter_app/app_state/app_state.dart';
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/classes/consts.dart';
 | 
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/classes/consts.dart';
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/classes/utils.dart';
 | 
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/classes/utils.dart';
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/config/routes.dart';
 | 
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/config/routes.dart';
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/models/marathon/marathon_generic_model.dart';
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/models/marathon/marathon_model.dart';
 | 
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/models/marathon/marathon_model.dart';
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/models/marathon/question_model.dart';
 | 
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/models/marathon/question_model.dart';
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/models/marathon/winner_model.dart';
 | 
					 | 
					 | 
					 | 
					import 'package:mohem_flutter_app/models/marathon/winner_model.dart';
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -193,9 +194,7 @@ class MarathonProvider extends ChangeNotifier {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (totalSecondsToWaitForMarathon == 0) {
 | 
					 | 
					 | 
					 | 
					        if (totalSecondsToWaitForMarathon == 0) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          timer.cancel();
 | 
					 | 
					 | 
					 | 
					          timer.cancel();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          if (isUserWaiting) {
 | 
					 | 
					 | 
					 | 
					          if (isUserWaiting) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            MarathonApiClient().joinMarathonAsParticipant().whenComplete(() async {
 | 
					 | 
					 | 
					 | 
					            await callNextQuestionApi();
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					              await callNextQuestionApi();
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            });
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          } else {
 | 
					 | 
					 | 
					 | 
					          } else {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            isButtonEnabled = false;
 | 
					 | 
					 | 
					 | 
					            isButtonEnabled = false;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					          }
 | 
					 | 
					 | 
					 | 
					          }
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -374,7 +373,7 @@ class MarathonProvider extends ChangeNotifier {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  void updateCardData() {
 | 
					 | 
					 | 
					 | 
					  void updateCardData() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    if (currentQuestionNumber > 0) {
 | 
					 | 
					 | 
					 | 
					    if (currentQuestionNumber > 0) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      swiperController.swipeLeft();
 | 
					 | 
					 | 
					 | 
					      // swiperController.swipeLeft();
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    selectedOptionIndex = null;
 | 
					 | 
					 | 
					 | 
					    selectedOptionIndex = null;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    currentQuestionNumber++;
 | 
					 | 
					 | 
					 | 
					    currentQuestionNumber++;
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -575,9 +574,18 @@ class MarathonProvider extends ChangeNotifier {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  Future<void> onJoinMarathonPressed(BuildContext context) async {
 | 
					 | 
					 | 
					 | 
					  Future<void> onJoinMarathonPressed(BuildContext context) async {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    try {
 | 
					 | 
					 | 
					 | 
					    try {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      isUserWaiting = true;
 | 
					 | 
					 | 
					 | 
					      Utils.showLoading(AppRoutes.navigatorKey.currentContext!);
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      Navigator.pushReplacementNamed(context, AppRoutes.marathonWaitingScreen);
 | 
					 | 
					 | 
					 | 
					      MarathonApiClient().joinMarathonAsParticipant().then((MarathonGenericModel? marathonGenericModel) async {
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        Utils.hideLoading(AppRoutes.navigatorKey.currentContext!);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        if (marathonGenericModel != null && marathonGenericModel.data != null) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					          isUserWaiting = true;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					          Navigator.pushReplacementNamed(context, AppRoutes.marathonWaitingScreen);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        } else if (marathonGenericModel!.data == null) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					          Utils.showToast(marathonGenericModel.message.toString());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      });
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } catch (e) {
 | 
					 | 
					 | 
					 | 
					    } catch (e) {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					      Utils.hideLoading(AppRoutes.navigatorKey.currentContext!);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					      Utils.confirmDialog(context, e.toString());
 | 
					 | 
					 | 
					 | 
					      Utils.confirmDialog(context, e.toString());
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    }
 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  }
 | 
					 | 
					 | 
					 | 
					  }
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
 
 |