diff --git a/lib/api/marathon/marathon_api_client.dart b/lib/api/marathon/marathon_api_client.dart index 1d9eb81..94e3e2c 100644 --- a/lib/api/marathon/marathon_api_client.dart +++ b/lib/api/marathon/marathon_api_client.dart @@ -5,6 +5,8 @@ import 'package:logger/logger.dart' as L; import 'package:mohem_flutter_app/api/api_client.dart'; import 'package:mohem_flutter_app/app_state/app_state.dart'; import 'package:mohem_flutter_app/classes/consts.dart'; +import 'package:mohem_flutter_app/classes/utils.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/question_model.dart'; @@ -99,7 +101,7 @@ class MarathonApiClient { } } - Future getNextQuestion({required String? selectedOptionId, required String? questionId, required String marathonId}) async { + Future getNextQuestion({required String? selectedOptionId, required String? questionId, required String marathonId}) async { Map jsonObject = { "selectedOptionId": selectedOptionId, "questionId": questionId, @@ -114,12 +116,14 @@ class MarathonApiClient { if (marathonModel.statusCode == 200) { if (marathonModel.data != null && marathonModel.isSuccessful == true) { logger.i("message: ${marathonModel.data}"); - return null; + return QuestionModel(); } else { - return null; + Utils.confirmDialog(AppRoutes.navigatorKey.currentContext, marathonModel.message!); + return QuestionModel(); } } else { - return null; + Utils.confirmDialog(AppRoutes.navigatorKey.currentContext, marathonModel.message!); + return QuestionModel(); } } diff --git a/lib/ui/marathon/marathon_provider.dart b/lib/ui/marathon/marathon_provider.dart index 46149a4..0f50c25 100644 --- a/lib/ui/marathon/marathon_provider.dart +++ b/lib/ui/marathon/marathon_provider.dart @@ -154,7 +154,7 @@ class MarathonProvider extends ChangeNotifier { notifyListeners(); } - void onNewQuestionReceived(QuestionModel newQuestion) { + Future callForNewQuestion(QuestionModel newQuestion) async { if (currentQuestionNumber < marathonDetailModel.totalQuestions!) { if (currentQuestionNumber == 0) { if (Utils.isLoading) { @@ -168,7 +168,7 @@ class MarathonProvider extends ChangeNotifier { } selectedOptionIndex = null; currentQuestionNumber++; - currentQuestion = newQuestion; + currentQuestion = await MarathonApiClient().getNextQuestion(selectedOptionId: null, questionId: null, marathonId: marathonDetailModel.id!); cardContentList.add(const CardContent()); currentQuestionTime = newQuestion.questionTime!; questionCardStatus = QuestionCardStatus.question; @@ -334,7 +334,17 @@ class MarathonProvider extends ChangeNotifier { Navigator.pushNamed(context, AppRoutes.marathonSponsorVideoScreen); }); } else { - Navigator.pushReplacementNamed(context, AppRoutes.marathonWaitingScreen); + // Utils.showLoading(context); + // await MarathonApiClient().getNextQuestion(selectedOptionId: null, questionId: null, marathonId: marathonDetailModel.id!); + + // if (isJoined) { + // + // if (Utils.isLoading) { + // Utils.hideLoading(AppRoutes.navigatorKey.currentContext!); + // } + // } + + // Navigator.pushReplacementNamed(context, AppRoutes.marathonWaitingScreen); } } }