diff --git a/android/app/google-services.json b/android/app/google-services.json
index a783b3b..703b089 100644
--- a/android/app/google-services.json
+++ b/android/app/google-services.json
@@ -14,11 +14,27 @@
},
"oauth_client": [
{
- "client_id": "900714037062-ngc0gc426sfnnjjr494g4vni46ne5uqv.apps.googleusercontent.com",
+ "client_id": "900714037062-4trqu7ln6en4kcm6gadk0uo01qijn1mk.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.yimaru.lms.app",
- "certificate_hash": "139ee56ac9763191d1eee882efc440c10530e6e9"
+ "certificate_hash": "b9cb22406df59b3b9b210896cc10fc704cc25858"
+ }
+ },
+ {
+ "client_id": "900714037062-d9aqa2eoni3ppumdpi39d5rtub2bsbbs.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.yimaru.lms.app",
+ "certificate_hash": "29797902ad6a24212b9d9fad71562907956f6a6c"
+ }
+ },
+ {
+ "client_id": "900714037062-ok9oeme95rfcvljtg065aj0f7mmsr0fa.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.yimaru.lms.app",
+ "certificate_hash": "928ead08b5e39d6a861a55ae7cceb8c402d1ee7a"
}
},
{
diff --git a/android/build/reports/problems/problems-report.html b/android/build/reports/problems/problems-report.html
index 84a82f1..fe0449f 100644
--- a/android/build/reports/problems/problems-report.html
+++ b/android/build/reports/problems/problems-report.html
@@ -646,7 +646,7 @@ code + .copy-button {
diff --git a/lib/app/app.bottomsheets.dart b/lib/app/app.bottomsheets.dart
index 777004c..bc4ed33 100644
--- a/lib/app/app.bottomsheets.dart
+++ b/lib/app/app.bottomsheets.dart
@@ -1,4 +1,5 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
+// dart format width=80
// **************************************************************************
// StackedBottomsheetGenerator
diff --git a/lib/app/app.dart b/lib/app/app.dart
index 3834e90..2ca880b 100644
--- a/lib/app/app.dart
+++ b/lib/app/app.dart
@@ -18,8 +18,6 @@ import 'package:yimaru_app/ui/views/privacy_policy/privacy_policy_view.dart';
import 'package:yimaru_app/ui/views/terms_and_conditions/terms_and_conditions_view.dart';
import 'package:yimaru_app/ui/views/register/register_view.dart';
import 'package:yimaru_app/ui/views/login/login_view.dart';
-import 'package:yimaru_app/ui/views/learn/learn_view.dart';
-import 'package:yimaru_app/ui/views/learn_level/learn_level_view.dart';
import 'package:yimaru_app/ui/views/learn_module/learn_module_view.dart';
import 'package:yimaru_app/services/authentication_service.dart';
import 'package:yimaru_app/services/api_service.dart';
@@ -51,8 +49,9 @@ import 'package:yimaru_app/ui/views/course/course_view.dart';
import 'package:yimaru_app/services/audio_player_service.dart';
import 'package:yimaru_app/services/voice_recorder_service.dart';
import 'package:yimaru_app/ui/views/course_practice_question/course_practice_question_view.dart';
-import 'package:yimaru_app/ui/views/learn_subcategory/learn_subcategory_view.dart';
-import 'package:yimaru_app/ui/views/learn_submodule/learn_submodule_view.dart';
+import 'package:yimaru_app/services/in_app_update_service.dart';
+import 'package:yimaru_app/ui/views/learn_program/learn_program_view.dart';
+import 'package:yimaru_app/ui/views/learn_course/learn_course_view.dart';
// @stacked-import
@StackedApp(
@@ -73,8 +72,6 @@ import 'package:yimaru_app/ui/views/learn_submodule/learn_submodule_view.dart';
MaterialRoute(page: TermsAndConditionsView),
MaterialRoute(page: RegisterView),
MaterialRoute(page: LoginView),
- MaterialRoute(page: LearnView),
- MaterialRoute(page: LearnLevelView),
MaterialRoute(page: LearnModuleView),
MaterialRoute(page: WelcomeView),
MaterialRoute(page: AssessmentView),
@@ -92,8 +89,8 @@ import 'package:yimaru_app/ui/views/learn_submodule/learn_submodule_view.dart';
MaterialRoute(page: CourseSubcategoryView),
MaterialRoute(page: CourseView),
MaterialRoute(page: CoursePracticeQuestionView),
- MaterialRoute(page: LearnSubcategoryView),
- MaterialRoute(page: LearnSubmoduleView),
+ MaterialRoute(page: LearnProgramView),
+ MaterialRoute(page: LearnCourseView),
// @stacked-route
],
dependencies: [
@@ -114,6 +111,7 @@ import 'package:yimaru_app/ui/views/learn_submodule/learn_submodule_view.dart';
LazySingleton(classType: CourseService),
LazySingleton(classType: AudioPlayerService),
LazySingleton(classType: VoiceRecorderService),
+ LazySingleton(classType: InAppUpdateService),
// @stacked-service
],
bottomsheets: [
diff --git a/lib/app/app.dialogs.dart b/lib/app/app.dialogs.dart
index 2a4e944..b0cf86b 100644
--- a/lib/app/app.dialogs.dart
+++ b/lib/app/app.dialogs.dart
@@ -1,4 +1,5 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
+// dart format width=80
// **************************************************************************
// StackedDialogGenerator
diff --git a/lib/app/app.locator.dart b/lib/app/app.locator.dart
index 2e05699..2b0bbc7 100644
--- a/lib/app/app.locator.dart
+++ b/lib/app/app.locator.dart
@@ -1,4 +1,5 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
+// dart format width=80
// **************************************************************************
// StackedLocatorGenerator
@@ -19,6 +20,7 @@ import '../services/dio_service.dart';
import '../services/google_auth_service.dart';
import '../services/image_downloader_service.dart';
import '../services/image_picker_service.dart';
+import '../services/in_app_update_service.dart';
import '../services/notification_service.dart';
import '../services/permission_handler_service.dart';
import '../services/secure_storage_service.dart';
@@ -28,10 +30,8 @@ import '../services/voice_recorder_service.dart';
final locator = StackedLocator.instance;
-Future setupLocator({
- String? environment,
- EnvironmentFilter? environmentFilter,
-}) async {
+Future setupLocator(
+ {String? environment, EnvironmentFilter? environmentFilter}) async {
// Register environments
locator.registerEnvironment(
environment: environment, environmentFilter: environmentFilter);
@@ -54,4 +54,5 @@ Future setupLocator({
locator.registerLazySingleton(() => CourseService());
locator.registerLazySingleton(() => AudioPlayerService());
locator.registerLazySingleton(() => VoiceRecorderService());
+ locator.registerLazySingleton(() => InAppUpdateService());
}
diff --git a/lib/app/app.router.dart b/lib/app/app.router.dart
index feb59cd..2764fc1 100644
--- a/lib/app/app.router.dart
+++ b/lib/app/app.router.dart
@@ -1,63 +1,62 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
+// dart format width=80
// **************************************************************************
// StackedNavigatorGenerator
// **************************************************************************
// ignore_for_file: no_leading_underscores_for_library_prefixes
+import 'package:flutter/material.dart' as _i37;
import 'package:flutter/material.dart';
-import 'package:flutter/material.dart' as _i39;
import 'package:stacked/stacked.dart' as _i1;
-import 'package:stacked_services/stacked_services.dart' as _i48;
-import 'package:yimaru_app/models/category.dart' as _i45;
-import 'package:yimaru_app/models/course.dart' as _i43;
-import 'package:yimaru_app/models/course_lesson.dart' as _i44;
-import 'package:yimaru_app/models/lesson.dart' as _i42;
-import 'package:yimaru_app/models/level.dart' as _i40;
-import 'package:yimaru_app/models/module.dart' as _i47;
-import 'package:yimaru_app/models/subcategory.dart' as _i46;
-import 'package:yimaru_app/models/submodule.dart' as _i41;
+import 'package:stacked_services/stacked_services.dart' as _i46;
+import 'package:yimaru_app/models/category.dart' as _i44;
+import 'package:yimaru_app/models/course.dart' as _i42;
+import 'package:yimaru_app/models/course_lesson.dart' as _i43;
+import 'package:yimaru_app/models/learn_course.dart' as _i38;
+import 'package:yimaru_app/models/learn_lesson.dart' as _i40;
+import 'package:yimaru_app/models/learn_module.dart' as _i39;
+import 'package:yimaru_app/models/subcategory.dart' as _i45;
+import 'package:yimaru_app/ui/common/enmus.dart' as _i41;
import 'package:yimaru_app/ui/views/account_privacy/account_privacy_view.dart'
as _i9;
-import 'package:yimaru_app/ui/views/assessment/assessment_view.dart' as _i22;
+import 'package:yimaru_app/ui/views/assessment/assessment_view.dart' as _i20;
import 'package:yimaru_app/ui/views/call_support/call_support_view.dart'
as _i12;
-import 'package:yimaru_app/ui/views/course/course_view.dart' as _i35;
+import 'package:yimaru_app/ui/views/course/course_view.dart' as _i33;
import 'package:yimaru_app/ui/views/course_category/course_category_view.dart'
- as _i29;
-import 'package:yimaru_app/ui/views/course_lesson/course_lesson_view.dart'
- as _i31;
-import 'package:yimaru_app/ui/views/course_lesson_detail/course_lesson_detail_view.dart'
- as _i32;
-import 'package:yimaru_app/ui/views/course_payment/course_payment_view.dart'
- as _i28;
-import 'package:yimaru_app/ui/views/course_practice/course_practice_view.dart'
as _i27;
+import 'package:yimaru_app/ui/views/course_lesson/course_lesson_view.dart'
+ as _i29;
+import 'package:yimaru_app/ui/views/course_lesson_detail/course_lesson_detail_view.dart'
+ as _i30;
+import 'package:yimaru_app/ui/views/course_payment/course_payment_view.dart'
+ as _i26;
+import 'package:yimaru_app/ui/views/course_practice/course_practice_view.dart'
+ as _i25;
import 'package:yimaru_app/ui/views/course_practice_question/course_practice_question_view.dart'
- as _i36;
-import 'package:yimaru_app/ui/views/course_subcategory/course_subcategory_view.dart'
as _i34;
+import 'package:yimaru_app/ui/views/course_subcategory/course_subcategory_view.dart'
+ as _i32;
import 'package:yimaru_app/ui/views/downloads/downloads_view.dart' as _i7;
-import 'package:yimaru_app/ui/views/duolingo/duolingo_view.dart' as _i33;
-import 'package:yimaru_app/ui/views/failure/failure_view.dart' as _i30;
+import 'package:yimaru_app/ui/views/duolingo/duolingo_view.dart' as _i31;
+import 'package:yimaru_app/ui/views/failure/failure_view.dart' as _i28;
import 'package:yimaru_app/ui/views/forget_password/forget_password_view.dart'
- as _i24;
+ as _i22;
import 'package:yimaru_app/ui/views/home/home_view.dart' as _i2;
import 'package:yimaru_app/ui/views/language/language_view.dart' as _i13;
-import 'package:yimaru_app/ui/views/learn/learn_view.dart' as _i18;
+import 'package:yimaru_app/ui/views/learn_course/learn_course_view.dart'
+ as _i36;
import 'package:yimaru_app/ui/views/learn_lesson/learn_lesson_view.dart'
- as _i23;
+ as _i21;
import 'package:yimaru_app/ui/views/learn_lesson_detail/learn_lesson_detail_view.dart'
- as _i25;
-import 'package:yimaru_app/ui/views/learn_level/learn_level_view.dart' as _i19;
+ as _i23;
import 'package:yimaru_app/ui/views/learn_module/learn_module_view.dart'
- as _i20;
+ as _i18;
import 'package:yimaru_app/ui/views/learn_practice/learn_practice_view.dart'
- as _i26;
-import 'package:yimaru_app/ui/views/learn_subcategory/learn_subcategory_view.dart'
- as _i37;
-import 'package:yimaru_app/ui/views/learn_submodule/learn_submodule_view.dart'
- as _i38;
+ as _i24;
+import 'package:yimaru_app/ui/views/learn_program/learn_program_view.dart'
+ as _i35;
import 'package:yimaru_app/ui/views/login/login_view.dart' as _i17;
import 'package:yimaru_app/ui/views/onboarding/onboarding_view.dart' as _i3;
import 'package:yimaru_app/ui/views/privacy_policy/privacy_policy_view.dart'
@@ -73,7 +72,7 @@ import 'package:yimaru_app/ui/views/telegram_support/telegram_support_view.dart'
as _i11;
import 'package:yimaru_app/ui/views/terms_and_conditions/terms_and_conditions_view.dart'
as _i15;
-import 'package:yimaru_app/ui/views/welcome/welcome_view.dart' as _i21;
+import 'package:yimaru_app/ui/views/welcome/welcome_view.dart' as _i19;
class Routes {
static const homeView = '/home-view';
@@ -108,10 +107,6 @@ class Routes {
static const loginView = '/login-view';
- static const learnView = '/learn-view';
-
- static const learnLevelView = '/learn-level-view';
-
static const learnModuleView = '/learn-module-view';
static const welcomeView = '/welcome-view';
@@ -146,9 +141,9 @@ class Routes {
static const coursePracticeQuestionView = '/course-practice-question-view';
- static const learnSubcategoryView = '/learn-subcategory-view';
+ static const learnProgramView = '/learn-program-view';
- static const learnSubmoduleView = '/learn-submodule-view';
+ static const learnCourseView = '/learn-course-view';
static const all = {
homeView,
@@ -167,8 +162,6 @@ class Routes {
termsAndConditionsView,
registerView,
loginView,
- learnView,
- learnLevelView,
learnModuleView,
welcomeView,
assessmentView,
@@ -186,8 +179,8 @@ class Routes {
courseSubcategoryView,
courseView,
coursePracticeQuestionView,
- learnSubcategoryView,
- learnSubmoduleView,
+ learnProgramView,
+ learnCourseView,
};
}
@@ -257,102 +250,100 @@ class StackedRouter extends _i1.RouterBase {
Routes.loginView,
page: _i17.LoginView,
),
- _i1.RouteDef(
- Routes.learnView,
- page: _i18.LearnView,
- ),
- _i1.RouteDef(
- Routes.learnLevelView,
- page: _i19.LearnLevelView,
- ),
_i1.RouteDef(
Routes.learnModuleView,
- page: _i20.LearnModuleView,
+ page: _i18.LearnModuleView,
),
_i1.RouteDef(
Routes.welcomeView,
- page: _i21.WelcomeView,
+ page: _i19.WelcomeView,
),
_i1.RouteDef(
Routes.assessmentView,
- page: _i22.AssessmentView,
+ page: _i20.AssessmentView,
),
_i1.RouteDef(
Routes.learnLessonView,
- page: _i23.LearnLessonView,
+ page: _i21.LearnLessonView,
),
_i1.RouteDef(
Routes.forgetPasswordView,
- page: _i24.ForgetPasswordView,
+ page: _i22.ForgetPasswordView,
),
_i1.RouteDef(
Routes.learnLessonDetailView,
- page: _i25.LearnLessonDetailView,
+ page: _i23.LearnLessonDetailView,
),
_i1.RouteDef(
Routes.learnPracticeView,
- page: _i26.LearnPracticeView,
+ page: _i24.LearnPracticeView,
),
_i1.RouteDef(
Routes.coursePracticeView,
- page: _i27.CoursePracticeView,
+ page: _i25.CoursePracticeView,
),
_i1.RouteDef(
Routes.coursePaymentView,
- page: _i28.CoursePaymentView,
+ page: _i26.CoursePaymentView,
),
_i1.RouteDef(
Routes.courseCategoryView,
- page: _i29.CourseCategoryView,
+ page: _i27.CourseCategoryView,
),
_i1.RouteDef(
Routes.failureView,
- page: _i30.FailureView,
+ page: _i28.FailureView,
),
_i1.RouteDef(
Routes.courseLessonView,
- page: _i31.CourseLessonView,
+ page: _i29.CourseLessonView,
),
_i1.RouteDef(
Routes.courseLessonDetailView,
- page: _i32.CourseLessonDetailView,
+ page: _i30.CourseLessonDetailView,
),
_i1.RouteDef(
Routes.duolingoView,
- page: _i33.DuolingoView,
+ page: _i31.DuolingoView,
),
_i1.RouteDef(
Routes.courseSubcategoryView,
- page: _i34.CourseSubcategoryView,
+ page: _i32.CourseSubcategoryView,
),
_i1.RouteDef(
Routes.courseView,
- page: _i35.CourseView,
+ page: _i33.CourseView,
),
_i1.RouteDef(
Routes.coursePracticeQuestionView,
- page: _i36.CoursePracticeQuestionView,
+ page: _i34.CoursePracticeQuestionView,
),
_i1.RouteDef(
- Routes.learnSubcategoryView,
- page: _i37.LearnSubcategoryView,
+ Routes.learnProgramView,
+ page: _i35.LearnProgramView,
),
_i1.RouteDef(
- Routes.learnSubmoduleView,
- page: _i38.LearnSubmoduleView,
+ Routes.learnCourseView,
+ page: _i36.LearnCourseView,
),
];
final _pagesMap = {
_i2.HomeView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i2.HomeView(),
+ final args = data.getArgs(
+ orElse: () => const HomeViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i2.HomeView(key: args.key),
settings: data,
);
},
_i3.OnboardingView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i3.OnboardingView(),
+ final args = data.getArgs(
+ orElse: () => const OnboardingViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i3.OnboardingView(key: args.key),
settings: data,
);
},
@@ -360,247 +351,282 @@ class StackedRouter extends _i1.RouterBase {
final args = data.getArgs(
orElse: () => const StartupViewArguments(),
);
- return _i39.MaterialPageRoute(
+ return _i37.MaterialPageRoute(
builder: (context) => _i4.StartupView(key: args.key, label: args.label),
settings: data,
);
},
_i5.ProfileView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i5.ProfileView(),
+ final args = data.getArgs(
+ orElse: () => const ProfileViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i5.ProfileView(key: args.key),
settings: data,
);
},
_i6.ProfileDetailView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i6.ProfileDetailView(),
+ final args = data.getArgs(
+ orElse: () => const ProfileDetailViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i6.ProfileDetailView(key: args.key),
settings: data,
);
},
_i7.DownloadsView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i7.DownloadsView(),
+ final args = data.getArgs(
+ orElse: () => const DownloadsViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i7.DownloadsView(key: args.key),
settings: data,
);
},
_i8.ProgressView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i8.ProgressView(),
+ final args = data.getArgs(
+ orElse: () => const ProgressViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i8.ProgressView(key: args.key),
settings: data,
);
},
_i9.AccountPrivacyView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i9.AccountPrivacyView(),
+ final args = data.getArgs(
+ orElse: () => const AccountPrivacyViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i9.AccountPrivacyView(key: args.key),
settings: data,
);
},
_i10.SupportView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i10.SupportView(),
+ final args = data.getArgs(
+ orElse: () => const SupportViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i10.SupportView(key: args.key),
settings: data,
);
},
_i11.TelegramSupportView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i11.TelegramSupportView(),
+ final args = data.getArgs(
+ orElse: () => const TelegramSupportViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i11.TelegramSupportView(key: args.key),
settings: data,
);
},
_i12.CallSupportView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i12.CallSupportView(),
+ final args = data.getArgs(
+ orElse: () => const CallSupportViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i12.CallSupportView(key: args.key),
settings: data,
);
},
_i13.LanguageView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i13.LanguageView(),
+ final args = data.getArgs(
+ orElse: () => const LanguageViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i13.LanguageView(key: args.key),
settings: data,
);
},
_i14.PrivacyPolicyView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i14.PrivacyPolicyView(),
+ final args = data.getArgs(
+ orElse: () => const PrivacyPolicyViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i14.PrivacyPolicyView(key: args.key),
settings: data,
);
},
_i15.TermsAndConditionsView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i15.TermsAndConditionsView(),
+ final args = data.getArgs(
+ orElse: () => const TermsAndConditionsViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i15.TermsAndConditionsView(key: args.key),
settings: data,
);
},
_i16.RegisterView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i16.RegisterView(),
+ final args = data.getArgs(
+ orElse: () => const RegisterViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i16.RegisterView(key: args.key),
settings: data,
);
},
_i17.LoginView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i17.LoginView(),
+ final args = data.getArgs(
+ orElse: () => const LoginViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i17.LoginView(key: args.key),
settings: data,
);
},
- _i18.LearnView: (data) {
- final args = data.getArgs(nullOk: false);
- return _i39.MaterialPageRoute(
- builder: (context) => _i18.LearnView(key: args.key, id: args.id),
- settings: data,
- );
- },
- _i19.LearnLevelView: (data) {
- final args = data.getArgs(nullOk: false);
- return _i39.MaterialPageRoute(
- builder: (context) => _i19.LearnLevelView(key: args.key, id: args.id),
- settings: data,
- );
- },
- _i20.LearnModuleView: (data) {
+ _i18.LearnModuleView: (data) {
final args = data.getArgs(nullOk: false);
- return _i39.MaterialPageRoute(
+ return _i37.MaterialPageRoute(
builder: (context) =>
- _i20.LearnModuleView(key: args.key, level: args.level),
+ _i18.LearnModuleView(key: args.key, course: args.course),
settings: data,
);
},
- _i21.WelcomeView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i21.WelcomeView(),
+ _i19.WelcomeView: (data) {
+ final args = data.getArgs(
+ orElse: () => const WelcomeViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i19.WelcomeView(key: args.key),
settings: data,
);
},
- _i22.AssessmentView: (data) {
+ _i20.AssessmentView: (data) {
final args = data.getArgs(nullOk: false);
- return _i39.MaterialPageRoute(
+ return _i37.MaterialPageRoute(
builder: (context) =>
- _i22.AssessmentView(key: args.key, data: args.data),
+ _i20.AssessmentView(key: args.key, data: args.data),
settings: data,
);
},
- _i23.LearnLessonView: (data) {
+ _i21.LearnLessonView: (data) {
final args = data.getArgs(nullOk: false);
- return _i39.MaterialPageRoute(
+ return _i37.MaterialPageRoute(
builder: (context) =>
- _i23.LearnLessonView(key: args.key, submodule: args.submodule),
+ _i21.LearnLessonView(key: args.key, module: args.module),
settings: data,
);
},
- _i24.ForgetPasswordView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i24.ForgetPasswordView(),
+ _i22.ForgetPasswordView: (data) {
+ final args = data.getArgs(
+ orElse: () => const ForgetPasswordViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i22.ForgetPasswordView(key: args.key),
settings: data,
);
},
- _i25.LearnLessonDetailView: (data) {
+ _i23.LearnLessonDetailView: (data) {
final args = data.getArgs(nullOk: false);
- return _i39.MaterialPageRoute(
+ return _i37.MaterialPageRoute(
builder: (context) =>
- _i25.LearnLessonDetailView(key: args.key, lesson: args.lesson),
+ _i23.LearnLessonDetailView(key: args.key, lesson: args.lesson),
settings: data,
);
},
- _i26.LearnPracticeView: (data) {
+ _i24.LearnPracticeView: (data) {
final args = data.getArgs(nullOk: false);
- return _i39.MaterialPageRoute(
- builder: (context) => _i26.LearnPracticeView(
- key: args.key,
- title: args.title,
- subtitle: args.subtitle,
- practices: args.practices,
- buttonLabel: args.buttonLabel),
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i24.LearnPracticeView(
+ key: args.key, id: args.id, practice: args.practice),
settings: data,
);
},
- _i27.CoursePracticeView: (data) {
+ _i25.CoursePracticeView: (data) {
final args = data.getArgs(nullOk: false);
- return _i39.MaterialPageRoute(
+ return _i37.MaterialPageRoute(
builder: (context) =>
- _i27.CoursePracticeView(key: args.key, id: args.id),
+ _i25.CoursePracticeView(key: args.key, id: args.id),
settings: data,
);
},
- _i28.CoursePaymentView: (data) {
+ _i26.CoursePaymentView: (data) {
final args = data.getArgs(nullOk: false);
- return _i39.MaterialPageRoute(
+ return _i37.MaterialPageRoute(
builder: (context) =>
- _i28.CoursePaymentView(key: args.key, course: args.course),
+ _i26.CoursePaymentView(key: args.key, course: args.course),
settings: data,
);
},
- _i29.CourseCategoryView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i29.CourseCategoryView(),
+ _i27.CourseCategoryView: (data) {
+ final args = data.getArgs(
+ orElse: () => const CourseCategoryViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i27.CourseCategoryView(key: args.key),
settings: data,
);
},
- _i30.FailureView: (data) {
+ _i28.FailureView: (data) {
final args = data.getArgs(nullOk: false);
- return _i39.MaterialPageRoute(
+ return _i37.MaterialPageRoute(
builder: (context) =>
- _i30.FailureView(key: args.key, label: args.label),
+ _i28.FailureView(key: args.key, label: args.label),
settings: data,
);
},
- _i31.CourseLessonView: (data) {
+ _i29.CourseLessonView: (data) {
final args = data.getArgs(nullOk: false);
- return _i39.MaterialPageRoute(
+ return _i37.MaterialPageRoute(
builder: (context) =>
- _i31.CourseLessonView(key: args.key, course: args.course),
+ _i29.CourseLessonView(key: args.key, course: args.course),
settings: data,
);
},
- _i32.CourseLessonDetailView: (data) {
+ _i30.CourseLessonDetailView: (data) {
final args = data.getArgs(nullOk: false);
- return _i39.MaterialPageRoute(
+ return _i37.MaterialPageRoute(
builder: (context) =>
- _i32.CourseLessonDetailView(key: args.key, lesson: args.lesson),
+ _i30.CourseLessonDetailView(key: args.key, lesson: args.lesson),
settings: data,
);
},
- _i33.DuolingoView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i33.DuolingoView(),
+ _i31.DuolingoView: (data) {
+ final args = data.getArgs(
+ orElse: () => const DuolingoViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i31.DuolingoView(key: args.key),
settings: data,
);
},
- _i34.CourseSubcategoryView: (data) {
+ _i32.CourseSubcategoryView: (data) {
final args = data.getArgs(nullOk: false);
- return _i39.MaterialPageRoute(
+ return _i37.MaterialPageRoute(
builder: (context) =>
- _i34.CourseSubcategoryView(key: args.key, category: args.category),
+ _i32.CourseSubcategoryView(key: args.key, category: args.category),
settings: data,
);
},
- _i35.CourseView: (data) {
+ _i33.CourseView: (data) {
final args = data.getArgs(nullOk: false);
- return _i39.MaterialPageRoute(
+ return _i37.MaterialPageRoute(
builder: (context) =>
- _i35.CourseView(key: args.key, subcategory: args.subcategory),
+ _i33.CourseView(key: args.key, subcategory: args.subcategory),
settings: data,
);
},
- _i36.CoursePracticeQuestionView: (data) {
+ _i34.CoursePracticeQuestionView: (data) {
final args =
data.getArgs(nullOk: false);
- return _i39.MaterialPageRoute(
+ return _i37.MaterialPageRoute(
builder: (context) =>
- _i36.CoursePracticeQuestionView(key: args.key, id: args.id),
+ _i34.CoursePracticeQuestionView(key: args.key, id: args.id),
settings: data,
);
},
- _i37.LearnSubcategoryView: (data) {
- return _i39.MaterialPageRoute(
- builder: (context) => const _i37.LearnSubcategoryView(),
+ _i35.LearnProgramView: (data) {
+ final args = data.getArgs(
+ orElse: () => const LearnProgramViewArguments(),
+ );
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i35.LearnProgramView(key: args.key),
settings: data,
);
},
- _i38.LearnSubmoduleView: (data) {
- final args = data.getArgs(nullOk: false);
- return _i39.MaterialPageRoute(
- builder: (context) =>
- _i38.LearnSubmoduleView(key: args.key, module: args.module),
+ _i36.LearnCourseView: (data) {
+ final args = data.getArgs(nullOk: false);
+ return _i37.MaterialPageRoute(
+ builder: (context) => _i36.LearnCourseView(key: args.key, id: args.id),
settings: data,
);
},
@@ -613,13 +639,57 @@ class StackedRouter extends _i1.RouterBase {
Map get pagesMap => _pagesMap;
}
+class HomeViewArguments {
+ const HomeViewArguments({this.key});
+
+ final _i37.Key? key;
+
+ @override
+ String toString() {
+ return '{"key": "$key"}';
+ }
+
+ @override
+ bool operator ==(covariant HomeViewArguments other) {
+ if (identical(this, other)) return true;
+ return other.key == key;
+ }
+
+ @override
+ int get hashCode {
+ return key.hashCode;
+ }
+}
+
+class OnboardingViewArguments {
+ const OnboardingViewArguments({this.key});
+
+ final _i37.Key? key;
+
+ @override
+ String toString() {
+ return '{"key": "$key"}';
+ }
+
+ @override
+ bool operator ==(covariant OnboardingViewArguments other) {
+ if (identical(this, other)) return true;
+ return other.key == key;
+ }
+
+ @override
+ int get hashCode {
+ return key.hashCode;
+ }
+}
+
class StartupViewArguments {
const StartupViewArguments({
this.key,
this.label = 'Loading',
});
- final _i39.Key? key;
+ final _i37.Key? key;
final String label;
@@ -640,84 +710,338 @@ class StartupViewArguments {
}
}
-class LearnViewArguments {
- const LearnViewArguments({
- this.key,
- required this.id,
- });
+class ProfileViewArguments {
+ const ProfileViewArguments({this.key});
- final _i39.Key? key;
-
- final int id;
+ final _i37.Key? key;
@override
String toString() {
- return '{"key": "$key", "id": "$id"}';
+ return '{"key": "$key"}';
}
@override
- bool operator ==(covariant LearnViewArguments other) {
+ bool operator ==(covariant ProfileViewArguments other) {
if (identical(this, other)) return true;
- return other.key == key && other.id == id;
+ return other.key == key;
}
@override
int get hashCode {
- return key.hashCode ^ id.hashCode;
+ return key.hashCode;
}
}
-class LearnLevelViewArguments {
- const LearnLevelViewArguments({
- this.key,
- required this.id,
- });
+class ProfileDetailViewArguments {
+ const ProfileDetailViewArguments({this.key});
- final _i39.Key? key;
-
- final int id;
+ final _i37.Key? key;
@override
String toString() {
- return '{"key": "$key", "id": "$id"}';
+ return '{"key": "$key"}';
}
@override
- bool operator ==(covariant LearnLevelViewArguments other) {
+ bool operator ==(covariant ProfileDetailViewArguments other) {
if (identical(this, other)) return true;
- return other.key == key && other.id == id;
+ return other.key == key;
}
@override
int get hashCode {
- return key.hashCode ^ id.hashCode;
+ return key.hashCode;
+ }
+}
+
+class DownloadsViewArguments {
+ const DownloadsViewArguments({this.key});
+
+ final _i37.Key? key;
+
+ @override
+ String toString() {
+ return '{"key": "$key"}';
+ }
+
+ @override
+ bool operator ==(covariant DownloadsViewArguments other) {
+ if (identical(this, other)) return true;
+ return other.key == key;
+ }
+
+ @override
+ int get hashCode {
+ return key.hashCode;
+ }
+}
+
+class ProgressViewArguments {
+ const ProgressViewArguments({this.key});
+
+ final _i37.Key? key;
+
+ @override
+ String toString() {
+ return '{"key": "$key"}';
+ }
+
+ @override
+ bool operator ==(covariant ProgressViewArguments other) {
+ if (identical(this, other)) return true;
+ return other.key == key;
+ }
+
+ @override
+ int get hashCode {
+ return key.hashCode;
+ }
+}
+
+class AccountPrivacyViewArguments {
+ const AccountPrivacyViewArguments({this.key});
+
+ final _i37.Key? key;
+
+ @override
+ String toString() {
+ return '{"key": "$key"}';
+ }
+
+ @override
+ bool operator ==(covariant AccountPrivacyViewArguments other) {
+ if (identical(this, other)) return true;
+ return other.key == key;
+ }
+
+ @override
+ int get hashCode {
+ return key.hashCode;
+ }
+}
+
+class SupportViewArguments {
+ const SupportViewArguments({this.key});
+
+ final _i37.Key? key;
+
+ @override
+ String toString() {
+ return '{"key": "$key"}';
+ }
+
+ @override
+ bool operator ==(covariant SupportViewArguments other) {
+ if (identical(this, other)) return true;
+ return other.key == key;
+ }
+
+ @override
+ int get hashCode {
+ return key.hashCode;
+ }
+}
+
+class TelegramSupportViewArguments {
+ const TelegramSupportViewArguments({this.key});
+
+ final _i37.Key? key;
+
+ @override
+ String toString() {
+ return '{"key": "$key"}';
+ }
+
+ @override
+ bool operator ==(covariant TelegramSupportViewArguments other) {
+ if (identical(this, other)) return true;
+ return other.key == key;
+ }
+
+ @override
+ int get hashCode {
+ return key.hashCode;
+ }
+}
+
+class CallSupportViewArguments {
+ const CallSupportViewArguments({this.key});
+
+ final _i37.Key? key;
+
+ @override
+ String toString() {
+ return '{"key": "$key"}';
+ }
+
+ @override
+ bool operator ==(covariant CallSupportViewArguments other) {
+ if (identical(this, other)) return true;
+ return other.key == key;
+ }
+
+ @override
+ int get hashCode {
+ return key.hashCode;
+ }
+}
+
+class LanguageViewArguments {
+ const LanguageViewArguments({this.key});
+
+ final _i37.Key? key;
+
+ @override
+ String toString() {
+ return '{"key": "$key"}';
+ }
+
+ @override
+ bool operator ==(covariant LanguageViewArguments other) {
+ if (identical(this, other)) return true;
+ return other.key == key;
+ }
+
+ @override
+ int get hashCode {
+ return key.hashCode;
+ }
+}
+
+class PrivacyPolicyViewArguments {
+ const PrivacyPolicyViewArguments({this.key});
+
+ final _i37.Key? key;
+
+ @override
+ String toString() {
+ return '{"key": "$key"}';
+ }
+
+ @override
+ bool operator ==(covariant PrivacyPolicyViewArguments other) {
+ if (identical(this, other)) return true;
+ return other.key == key;
+ }
+
+ @override
+ int get hashCode {
+ return key.hashCode;
+ }
+}
+
+class TermsAndConditionsViewArguments {
+ const TermsAndConditionsViewArguments({this.key});
+
+ final _i37.Key? key;
+
+ @override
+ String toString() {
+ return '{"key": "$key"}';
+ }
+
+ @override
+ bool operator ==(covariant TermsAndConditionsViewArguments other) {
+ if (identical(this, other)) return true;
+ return other.key == key;
+ }
+
+ @override
+ int get hashCode {
+ return key.hashCode;
+ }
+}
+
+class RegisterViewArguments {
+ const RegisterViewArguments({this.key});
+
+ final _i37.Key? key;
+
+ @override
+ String toString() {
+ return '{"key": "$key"}';
+ }
+
+ @override
+ bool operator ==(covariant RegisterViewArguments other) {
+ if (identical(this, other)) return true;
+ return other.key == key;
+ }
+
+ @override
+ int get hashCode {
+ return key.hashCode;
+ }
+}
+
+class LoginViewArguments {
+ const LoginViewArguments({this.key});
+
+ final _i37.Key? key;
+
+ @override
+ String toString() {
+ return '{"key": "$key"}';
+ }
+
+ @override
+ bool operator ==(covariant LoginViewArguments other) {
+ if (identical(this, other)) return true;
+ return other.key == key;
+ }
+
+ @override
+ int get hashCode {
+ return key.hashCode;
}
}
class LearnModuleViewArguments {
const LearnModuleViewArguments({
this.key,
- required this.level,
+ required this.course,
});
- final _i39.Key? key;
+ final _i37.Key? key;
- final _i40.Level level;
+ final _i38.LearnCourse course;
@override
String toString() {
- return '{"key": "$key", "level": "$level"}';
+ return '{"key": "$key", "course": "$course"}';
}
@override
bool operator ==(covariant LearnModuleViewArguments other) {
if (identical(this, other)) return true;
- return other.key == key && other.level == level;
+ return other.key == key && other.course == course;
}
@override
int get hashCode {
- return key.hashCode ^ level.hashCode;
+ return key.hashCode ^ course.hashCode;
+ }
+}
+
+class WelcomeViewArguments {
+ const WelcomeViewArguments({this.key});
+
+ final _i37.Key? key;
+
+ @override
+ String toString() {
+ return '{"key": "$key"}';
+ }
+
+ @override
+ bool operator ==(covariant WelcomeViewArguments other) {
+ if (identical(this, other)) return true;
+ return other.key == key;
+ }
+
+ @override
+ int get hashCode {
+ return key.hashCode;
}
}
@@ -727,7 +1051,7 @@ class AssessmentViewArguments {
required this.data,
});
- final _i39.Key? key;
+ final _i37.Key? key;
final Map data;
@@ -751,27 +1075,49 @@ class AssessmentViewArguments {
class LearnLessonViewArguments {
const LearnLessonViewArguments({
this.key,
- required this.submodule,
+ required this.module,
});
- final _i39.Key? key;
+ final _i37.Key? key;
- final _i41.Submodule submodule;
+ final _i39.LearnModule module;
@override
String toString() {
- return '{"key": "$key", "submodule": "$submodule"}';
+ return '{"key": "$key", "module": "$module"}';
}
@override
bool operator ==(covariant LearnLessonViewArguments other) {
if (identical(this, other)) return true;
- return other.key == key && other.submodule == submodule;
+ return other.key == key && other.module == module;
}
@override
int get hashCode {
- return key.hashCode ^ submodule.hashCode;
+ return key.hashCode ^ module.hashCode;
+ }
+}
+
+class ForgetPasswordViewArguments {
+ const ForgetPasswordViewArguments({this.key});
+
+ final _i37.Key? key;
+
+ @override
+ String toString() {
+ return '{"key": "$key"}';
+ }
+
+ @override
+ bool operator ==(covariant ForgetPasswordViewArguments other) {
+ if (identical(this, other)) return true;
+ return other.key == key;
+ }
+
+ @override
+ int get hashCode {
+ return key.hashCode;
}
}
@@ -781,9 +1127,9 @@ class LearnLessonDetailViewArguments {
required this.lesson,
});
- final _i39.Key? key;
+ final _i37.Key? key;
- final _i42.Lesson lesson;
+ final _i40.LearnLesson lesson;
@override
String toString() {
@@ -805,44 +1151,30 @@ class LearnLessonDetailViewArguments {
class LearnPracticeViewArguments {
const LearnPracticeViewArguments({
this.key,
- required this.title,
- required this.subtitle,
- required this.practices,
- required this.buttonLabel,
+ required this.id,
+ required this.practice,
});
- final _i39.Key? key;
+ final _i37.Key? key;
- final String title;
+ final int id;
- final String subtitle;
-
- final List