diff --git a/lib/pangea/learning_settings/models/language_model.dart b/lib/pangea/learning_settings/models/language_model.dart index 7a878365b..536a266e2 100644 --- a/lib/pangea/learning_settings/models/language_model.dart +++ b/lib/pangea/learning_settings/models/language_model.dart @@ -317,7 +317,7 @@ class LanguageModel { String searchValue, BuildContext context, ) { - if (item == null) return false; + if (item == null) return searchValue.isEmpty; final search = searchValue.toLowerCase(); final displayName = item.displayName.toLowerCase(); final displayNameLocal = item.getDisplayName(context).toLowerCase(); diff --git a/lib/pangea/login/pages/new_course_page.dart b/lib/pangea/login/pages/new_course_page.dart index 8fb12796d..fafc3e989 100644 --- a/lib/pangea/login/pages/new_course_page.dart +++ b/lib/pangea/login/pages/new_course_page.dart @@ -16,6 +16,7 @@ import 'package:fluffychat/pangea/course_plans/courses/course_plan_client_extens import 'package:fluffychat/pangea/course_plans/courses/course_plan_model.dart'; import 'package:fluffychat/pangea/course_plans/courses/course_plans_repo.dart'; import 'package:fluffychat/pangea/course_plans/courses/get_localized_courses_response.dart'; +import 'package:fluffychat/pangea/learning_settings/enums/language_level_type_enum.dart'; import 'package:fluffychat/pangea/learning_settings/models/language_model.dart'; import 'package:fluffychat/widgets/adaptive_dialogs/adaptive_dialog_action.dart'; import 'package:fluffychat/widgets/avatar.dart'; @@ -279,17 +280,22 @@ class NewCoursePageState extends State { ); } - final courseEntries = - value.result!.coursePlans.entries.toList(); + final courses = value.result!.coursePlans.values.toList(); + courses.sort( + (a, b) => LanguageLevelTypeEnum.values + .indexOf(a.cefrLevel) + .compareTo( + LanguageLevelTypeEnum.values.indexOf(b.cefrLevel), + ), + ); return Expanded( child: ListView.separated( separatorBuilder: (context, index) => const SizedBox(height: 10.0), - itemCount: courseEntries.length, + itemCount: courses.length, itemBuilder: (context, index) { - final course = courseEntries[index].value; - final courseId = courseEntries[index].key; + final course = courses[index]; return Material( type: MaterialType.transparency, child: InkWell( @@ -335,7 +341,7 @@ class NewCoursePageState extends State { ], ), CourseInfoChips( - courseId, + course.uuid, iconSize: 12.0, fontSize: 12.0, ),