diff --git a/android/build/reports/problems/problems-report.html b/android/build/reports/problems/problems-report.html
index 1e24d19..84a82f1 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.dart b/lib/app/app.dart
index 5897ed4..3834e90 100644
--- a/lib/app/app.dart
+++ b/lib/app/app.dart
@@ -52,6 +52,7 @@ 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';
// @stacked-import
@StackedApp(
@@ -92,6 +93,7 @@ import 'package:yimaru_app/ui/views/learn_subcategory/learn_subcategory_view.dar
MaterialRoute(page: CourseView),
MaterialRoute(page: CoursePracticeQuestionView),
MaterialRoute(page: LearnSubcategoryView),
+ MaterialRoute(page: LearnSubmoduleView),
// @stacked-route
],
dependencies: [
diff --git a/lib/app/app.router.dart b/lib/app/app.router.dart
index 93af0b9..feb59cd 100644
--- a/lib/app/app.router.dart
+++ b/lib/app/app.router.dart
@@ -5,15 +5,18 @@
// **************************************************************************
// ignore_for_file: no_leading_underscores_for_library_prefixes
-import 'package:flutter/material.dart' as _i38;
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 _i44;
-import 'package:yimaru_app/models/category.dart' as _i42;
-import 'package:yimaru_app/models/course.dart' as _i40;
-import 'package:yimaru_app/models/course_lesson.dart' as _i41;
-import 'package:yimaru_app/models/level.dart' as _i39;
-import 'package:yimaru_app/models/subcategory.dart' as _i43;
+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:yimaru_app/ui/views/account_privacy/account_privacy_view.dart'
as _i9;
import 'package:yimaru_app/ui/views/assessment/assessment_view.dart' as _i22;
@@ -53,6 +56,8 @@ 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;
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'
@@ -143,6 +148,8 @@ class Routes {
static const learnSubcategoryView = '/learn-subcategory-view';
+ static const learnSubmoduleView = '/learn-submodule-view';
+
static const all = {
homeView,
onboardingView,
@@ -180,6 +187,7 @@ class Routes {
courseView,
coursePracticeQuestionView,
learnSubcategoryView,
+ learnSubmoduleView,
};
}
@@ -329,17 +337,21 @@ class StackedRouter extends _i1.RouterBase {
Routes.learnSubcategoryView,
page: _i37.LearnSubcategoryView,
),
+ _i1.RouteDef(
+ Routes.learnSubmoduleView,
+ page: _i38.LearnSubmoduleView,
+ ),
];
final _pagesMap = {
_i2.HomeView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i2.HomeView(),
settings: data,
);
},
_i3.OnboardingView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i3.OnboardingView(),
settings: data,
);
@@ -348,120 +360,120 @@ class StackedRouter extends _i1.RouterBase {
final args = data.getArgs(
orElse: () => const StartupViewArguments(),
);
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => _i4.StartupView(key: args.key, label: args.label),
settings: data,
);
},
_i5.ProfileView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i5.ProfileView(),
settings: data,
);
},
_i6.ProfileDetailView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i6.ProfileDetailView(),
settings: data,
);
},
_i7.DownloadsView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i7.DownloadsView(),
settings: data,
);
},
_i8.ProgressView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i8.ProgressView(),
settings: data,
);
},
_i9.AccountPrivacyView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i9.AccountPrivacyView(),
settings: data,
);
},
_i10.SupportView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i10.SupportView(),
settings: data,
);
},
_i11.TelegramSupportView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i11.TelegramSupportView(),
settings: data,
);
},
_i12.CallSupportView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i12.CallSupportView(),
settings: data,
);
},
_i13.LanguageView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i13.LanguageView(),
settings: data,
);
},
_i14.PrivacyPolicyView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i14.PrivacyPolicyView(),
settings: data,
);
},
_i15.TermsAndConditionsView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i15.TermsAndConditionsView(),
settings: data,
);
},
_i16.RegisterView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i16.RegisterView(),
settings: data,
);
},
_i17.LoginView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i17.LoginView(),
settings: data,
);
},
_i18.LearnView: (data) {
final args = data.getArgs(nullOk: false);
- return _i38.MaterialPageRoute(
+ 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 _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => _i19.LearnLevelView(key: args.key, id: args.id),
settings: data,
);
},
_i20.LearnModuleView: (data) {
final args = data.getArgs(nullOk: false);
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) =>
_i20.LearnModuleView(key: args.key, level: args.level),
settings: data,
);
},
_i21.WelcomeView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i21.WelcomeView(),
settings: data,
);
},
_i22.AssessmentView: (data) {
final args = data.getArgs(nullOk: false);
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) =>
_i22.AssessmentView(key: args.key, data: args.data),
settings: data,
@@ -469,37 +481,29 @@ class StackedRouter extends _i1.RouterBase {
},
_i23.LearnLessonView: (data) {
final args = data.getArgs(nullOk: false);
- return _i38.MaterialPageRoute(
- builder: (context) => _i23.LearnLessonView(
- key: args.key,
- title: args.title,
- topics: args.topics,
- subtitle: args.subtitle,
- practices: args.practices,
- description: args.description),
+ return _i39.MaterialPageRoute(
+ builder: (context) =>
+ _i23.LearnLessonView(key: args.key, submodule: args.submodule),
settings: data,
);
},
_i24.ForgetPasswordView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i24.ForgetPasswordView(),
settings: data,
);
},
_i25.LearnLessonDetailView: (data) {
final args = data.getArgs(nullOk: false);
- return _i38.MaterialPageRoute(
- builder: (context) => _i25.LearnLessonDetailView(
- key: args.key,
- title: args.title,
- practices: args.practices,
- description: args.description),
+ return _i39.MaterialPageRoute(
+ builder: (context) =>
+ _i25.LearnLessonDetailView(key: args.key, lesson: args.lesson),
settings: data,
);
},
_i26.LearnPracticeView: (data) {
final args = data.getArgs(nullOk: false);
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => _i26.LearnPracticeView(
key: args.key,
title: args.title,
@@ -511,7 +515,7 @@ class StackedRouter extends _i1.RouterBase {
},
_i27.CoursePracticeView: (data) {
final args = data.getArgs(nullOk: false);
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) =>
_i27.CoursePracticeView(key: args.key, id: args.id),
settings: data,
@@ -519,21 +523,21 @@ class StackedRouter extends _i1.RouterBase {
},
_i28.CoursePaymentView: (data) {
final args = data.getArgs(nullOk: false);
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) =>
_i28.CoursePaymentView(key: args.key, course: args.course),
settings: data,
);
},
_i29.CourseCategoryView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i29.CourseCategoryView(),
settings: data,
);
},
_i30.FailureView: (data) {
final args = data.getArgs(nullOk: false);
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) =>
_i30.FailureView(key: args.key, label: args.label),
settings: data,
@@ -541,7 +545,7 @@ class StackedRouter extends _i1.RouterBase {
},
_i31.CourseLessonView: (data) {
final args = data.getArgs(nullOk: false);
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) =>
_i31.CourseLessonView(key: args.key, course: args.course),
settings: data,
@@ -549,21 +553,21 @@ class StackedRouter extends _i1.RouterBase {
},
_i32.CourseLessonDetailView: (data) {
final args = data.getArgs(nullOk: false);
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) =>
_i32.CourseLessonDetailView(key: args.key, lesson: args.lesson),
settings: data,
);
},
_i33.DuolingoView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i33.DuolingoView(),
settings: data,
);
},
_i34.CourseSubcategoryView: (data) {
final args = data.getArgs(nullOk: false);
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) =>
_i34.CourseSubcategoryView(key: args.key, category: args.category),
settings: data,
@@ -571,7 +575,7 @@ class StackedRouter extends _i1.RouterBase {
},
_i35.CourseView: (data) {
final args = data.getArgs(nullOk: false);
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) =>
_i35.CourseView(key: args.key, subcategory: args.subcategory),
settings: data,
@@ -580,18 +584,26 @@ class StackedRouter extends _i1.RouterBase {
_i36.CoursePracticeQuestionView: (data) {
final args =
data.getArgs(nullOk: false);
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) =>
_i36.CoursePracticeQuestionView(key: args.key, id: args.id),
settings: data,
);
},
_i37.LearnSubcategoryView: (data) {
- return _i38.MaterialPageRoute(
+ return _i39.MaterialPageRoute(
builder: (context) => const _i37.LearnSubcategoryView(),
settings: data,
);
},
+ _i38.LearnSubmoduleView: (data) {
+ final args = data.getArgs(nullOk: false);
+ return _i39.MaterialPageRoute(
+ builder: (context) =>
+ _i38.LearnSubmoduleView(key: args.key, module: args.module),
+ settings: data,
+ );
+ },
};
@override
@@ -607,7 +619,7 @@ class StartupViewArguments {
this.label = 'Loading',
});
- final _i38.Key? key;
+ final _i39.Key? key;
final String label;
@@ -634,7 +646,7 @@ class LearnViewArguments {
required this.id,
});
- final _i38.Key? key;
+ final _i39.Key? key;
final int id;
@@ -661,7 +673,7 @@ class LearnLevelViewArguments {
required this.id,
});
- final _i38.Key? key;
+ final _i39.Key? key;
final int id;
@@ -688,9 +700,9 @@ class LearnModuleViewArguments {
required this.level,
});
- final _i38.Key? key;
+ final _i39.Key? key;
- final _i39.Level level;
+ final _i40.Level level;
@override
String toString() {
@@ -715,7 +727,7 @@ class AssessmentViewArguments {
required this.data,
});
- final _i38.Key? key;
+ final _i39.Key? key;
final Map data;
@@ -739,88 +751,54 @@ class AssessmentViewArguments {
class LearnLessonViewArguments {
const LearnLessonViewArguments({
this.key,
- required this.title,
- required this.topics,
- required this.subtitle,
- required this.practices,
- required this.description,
+ required this.submodule,
});
- final _i38.Key? key;
+ final _i39.Key? key;
- final String title;
-
- final String topics;
-
- final String subtitle;
-
- final List