diff --git a/lib/pangea/course_creation/course_plan_filter_widget.dart b/lib/pangea/course_creation/course_plan_filter_widget.dart index e63d5bbf1..a52e321a6 100644 --- a/lib/pangea/course_creation/course_plan_filter_widget.dart +++ b/lib/pangea/course_creation/course_plan_filter_widget.dart @@ -46,26 +46,23 @@ class CoursePlanFilterState extends State> { child: DropdownButton2( customButton: Container( decoration: BoxDecoration( - border: Border.all(color: theme.colorScheme.onSurface), - borderRadius: BorderRadius.circular(12.0), + borderRadius: BorderRadius.circular(40.0), + color: theme.colorScheme.surfaceContainerHighest, ), padding: const EdgeInsets.symmetric( - horizontal: 8.0, - vertical: 2.0, + horizontal: 16.0, + vertical: 12.0, ), child: Row( - spacing: 4.0, - mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( widget.value != null ? widget.displayname(widget.value as T) : widget.defaultName, - style: theme.textTheme.labelMedium, ), const Icon( Icons.arrow_drop_down, - size: 12.0, ), ], ), @@ -90,9 +87,6 @@ class CoursePlanFilterState extends State> { borderRadius: BorderRadius.circular(40), ), ), - dropdownStyleData: const DropdownStyleData( - width: 250, - ), dropdownSearchData: widget.enableSearch ? DropdownSearchData( searchController: _searchController, diff --git a/lib/pangea/course_creation/course_search_provider.dart b/lib/pangea/course_creation/course_search_provider.dart index fd8576260..aa5f9c185 100644 --- a/lib/pangea/course_creation/course_search_provider.dart +++ b/lib/pangea/course_creation/course_search_provider.dart @@ -2,7 +2,6 @@ import 'package:flutter/material.dart'; import 'package:fluffychat/pangea/course_plans/course_plan_model.dart'; import 'package:fluffychat/pangea/course_plans/course_plans_repo.dart'; -import 'package:fluffychat/pangea/learning_settings/enums/language_level_type_enum.dart'; import 'package:fluffychat/pangea/learning_settings/models/language_model.dart'; mixin CourseSearchProvider on State { @@ -10,9 +9,6 @@ mixin CourseSearchProvider on State { Object? error; List courses = []; - - LanguageLevelTypeEnum? languageLevelFilter; - LanguageModel? instructionLanguageFilter; LanguageModel? targetLanguageFilter; @override @@ -26,21 +22,9 @@ mixin CourseSearchProvider on State { CourseFilter get _filter { return CourseFilter( targetLanguage: targetLanguageFilter, - languageOfInstructions: instructionLanguageFilter, - cefrLevel: languageLevelFilter, ); } - void setLanguageLevelFilter(LanguageLevelTypeEnum? level, {reload = true}) { - languageLevelFilter = level; - if (reload) _loadCourses(); - } - - void setInstructionLanguageFilter(LanguageModel? language, {reload = true}) { - instructionLanguageFilter = language; - if (reload) _loadCourses(); - } - void setTargetLanguageFilter(LanguageModel? language, {reload = true}) { targetLanguageFilter = language; if (reload) _loadCourses(); diff --git a/lib/pangea/login/pages/new_trip_page.dart b/lib/pangea/login/pages/new_trip_page.dart index 350403661..a29adf554 100644 --- a/lib/pangea/login/pages/new_trip_page.dart +++ b/lib/pangea/login/pages/new_trip_page.dart @@ -8,7 +8,6 @@ import 'package:fluffychat/pangea/common/widgets/url_image_widget.dart'; import 'package:fluffychat/pangea/course_creation/course_info_chip_widget.dart'; import 'package:fluffychat/pangea/course_creation/course_plan_filter_widget.dart'; import 'package:fluffychat/pangea/course_creation/course_search_provider.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/avatar.dart'; import 'package:fluffychat/widgets/matrix.dart'; @@ -38,11 +37,6 @@ class NewTripPageState extends State with CourseSearchProvider { if (target != null) { setTargetLanguageFilter(target, reload: false); } - - final base = MatrixState.pangeaController.languageController.systemLanguage; - if (base != null) { - setInstructionLanguageFilter(base, reload: false); - } } @override @@ -82,18 +76,6 @@ class NewTripPageState extends State with CourseSearchProvider { runSpacing: 8.0, alignment: WrapAlignment.start, children: [ - CoursePlanFilter( - value: instructionLanguageFilter, - onChanged: setInstructionLanguageFilter, - items: MatrixState - .pangeaController.pLanguageStore.baseOptions, - displayname: (v) => - v.getDisplayName(context) ?? v.displayName, - enableSearch: true, - defaultName: - L10n.of(context).languageOfInstructionsLabel, - shortName: L10n.of(context).allLanguages, - ), CoursePlanFilter( value: targetLanguageFilter, onChanged: setTargetLanguageFilter, @@ -105,14 +87,6 @@ class NewTripPageState extends State with CourseSearchProvider { defaultName: L10n.of(context).targetLanguageLabel, shortName: L10n.of(context).allLanguages, ), - CoursePlanFilter( - value: languageLevelFilter, - onChanged: setLanguageLevelFilter, - items: LanguageLevelTypeEnum.values, - displayname: (v) => v.string, - defaultName: L10n.of(context).cefrLevelLabel, - shortName: L10n.of(context).allCefrLevels, - ), ], ), ), diff --git a/lib/pangea/login/pages/public_trip_page.dart b/lib/pangea/login/pages/public_trip_page.dart index b811e66d5..d95ec6e23 100644 --- a/lib/pangea/login/pages/public_trip_page.dart +++ b/lib/pangea/login/pages/public_trip_page.dart @@ -11,7 +11,6 @@ import 'package:fluffychat/pangea/course_creation/course_info_chip_widget.dart'; import 'package:fluffychat/pangea/course_creation/course_plan_filter_widget.dart'; import 'package:fluffychat/pangea/course_plans/course_plan_model.dart'; import 'package:fluffychat/pangea/course_plans/course_plans_repo.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/pangea/spaces/utils/public_course_extension.dart'; import 'package:fluffychat/widgets/avatar.dart'; @@ -34,8 +33,6 @@ class PublicTripPageState extends State { bool loading = true; Object? error; - LanguageLevelTypeEnum? languageLevelFilter; - LanguageModel? instructionLanguageFilter; LanguageModel? targetLanguageFilter; List discoveredCourses = []; @@ -51,22 +48,9 @@ class PublicTripPageState extends State { setTargetLanguageFilter(target); } - final base = MatrixState.pangeaController.languageController.systemLanguage; - if (base != null) { - setInstructionLanguageFilter(base); - } - _loadCourses(); } - void setLanguageLevelFilter(LanguageLevelTypeEnum? level) { - setState(() => languageLevelFilter = level); - } - - void setInstructionLanguageFilter(LanguageModel? language) { - setState(() => instructionLanguageFilter = language); - } - void setTargetLanguageFilter(LanguageModel? language) { setState(() => targetLanguageFilter = language); } @@ -80,26 +64,6 @@ class PublicTripPageState extends State { ) .toList(); - if (languageLevelFilter != null) { - filtered = filtered.where( - (chunk) { - final course = coursePlans[chunk.courseId]; - if (course == null) return false; - return course.cefrLevel == languageLevelFilter; - }, - ).toList(); - } - - if (instructionLanguageFilter != null) { - filtered = filtered.where( - (chunk) { - final course = coursePlans[chunk.courseId]; - if (course == null) return false; - return course.baseLanguageModel == instructionLanguageFilter; - }, - ).toList(); - } - if (targetLanguageFilter != null) { filtered = filtered.where( (chunk) { @@ -199,18 +163,6 @@ class PublicTripPageState extends State { runSpacing: 8.0, alignment: WrapAlignment.start, children: [ - CoursePlanFilter( - value: instructionLanguageFilter, - onChanged: setInstructionLanguageFilter, - items: MatrixState - .pangeaController.pLanguageStore.baseOptions, - displayname: (v) => - v.getDisplayName(context) ?? v.displayName, - enableSearch: true, - defaultName: - L10n.of(context).languageOfInstructionsLabel, - shortName: L10n.of(context).allLanguages, - ), CoursePlanFilter( value: targetLanguageFilter, onChanged: setTargetLanguageFilter, @@ -222,14 +174,6 @@ class PublicTripPageState extends State { defaultName: L10n.of(context).targetLanguageLabel, shortName: L10n.of(context).allLanguages, ), - CoursePlanFilter( - value: languageLevelFilter, - onChanged: setLanguageLevelFilter, - items: LanguageLevelTypeEnum.values, - displayname: (v) => v.string, - defaultName: L10n.of(context).cefrLevelLabel, - shortName: L10n.of(context).allCefrLevels, - ), ], ), ),