chore: Search for course filter not saved when open new course page
This commit is contained in:
parent
92ae0fd79f
commit
56350a91ea
3 changed files with 27 additions and 6 deletions
|
|
@ -365,11 +365,13 @@ abstract class AppRoutes {
|
|||
GoRoute(
|
||||
path: 'own',
|
||||
pageBuilder: (context, state) {
|
||||
debugPrint("HELLLLO");
|
||||
return defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
const NewCoursePage(route: 'rooms'),
|
||||
NewCoursePage(
|
||||
route: 'rooms',
|
||||
initialLanguageCode: state.uri.queryParameters['lang'],
|
||||
),
|
||||
);
|
||||
},
|
||||
routes: [
|
||||
|
|
|
|||
|
|
@ -204,6 +204,15 @@ class FindCoursePageState extends State<FindCoursePage> {
|
|||
}
|
||||
}
|
||||
|
||||
void startNewCourse() {
|
||||
String route = "/rooms/course/own";
|
||||
if (targetLanguageFilter != null) {
|
||||
route +=
|
||||
"?lang=${Uri.encodeComponent(targetLanguageFilter!.langCodeShort)}";
|
||||
}
|
||||
context.go(route);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return FindCoursePageView(controller: this);
|
||||
|
|
@ -283,6 +292,7 @@ class FindCoursePageView extends StatelessWidget {
|
|||
),
|
||||
if (constrained.maxWidth >= 500) ...[
|
||||
TextButton(
|
||||
onPressed: controller.startNewCourse,
|
||||
child: Row(
|
||||
spacing: 8.0,
|
||||
children: [
|
||||
|
|
@ -290,7 +300,6 @@ class FindCoursePageView extends StatelessWidget {
|
|||
Text(L10n.of(context).newCourse),
|
||||
],
|
||||
),
|
||||
onPressed: () => context.go("/rooms/course/own"),
|
||||
),
|
||||
TextButton(
|
||||
child: Row(
|
||||
|
|
@ -307,7 +316,7 @@ class FindCoursePageView extends StatelessWidget {
|
|||
icon: const Icon(Icons.more_vert),
|
||||
itemBuilder: (context) => [
|
||||
PopupMenuItem(
|
||||
onTap: () => context.go("/rooms/course/own"),
|
||||
onTap: controller.startNewCourse,
|
||||
child: Row(
|
||||
spacing: 8.0,
|
||||
children: [
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ 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/languages/language_model.dart';
|
||||
import 'package:fluffychat/pangea/languages/p_language_store.dart';
|
||||
import 'package:fluffychat/pangea/learning_settings/language_level_type_enum.dart';
|
||||
import 'package:fluffychat/widgets/adaptive_dialogs/adaptive_dialog_action.dart';
|
||||
import 'package:fluffychat/widgets/avatar.dart';
|
||||
|
|
@ -27,12 +28,14 @@ class NewCoursePage extends StatefulWidget {
|
|||
final String route;
|
||||
final String? spaceId;
|
||||
final bool showFilters;
|
||||
final String? initialLanguageCode;
|
||||
|
||||
const NewCoursePage({
|
||||
super.key,
|
||||
required this.route,
|
||||
this.spaceId,
|
||||
this.showFilters = true,
|
||||
this.initialLanguageCode,
|
||||
});
|
||||
|
||||
@override
|
||||
|
|
@ -50,8 +53,15 @@ class NewCoursePageState extends State<NewCoursePage> {
|
|||
void initState() {
|
||||
super.initState();
|
||||
|
||||
_targetLanguageFilter.value =
|
||||
MatrixState.pangeaController.userController.userL2;
|
||||
if (widget.initialLanguageCode != null) {
|
||||
_targetLanguageFilter.value =
|
||||
PLanguageStore.byLangCode(widget.initialLanguageCode!);
|
||||
}
|
||||
|
||||
if (_targetLanguageFilter.value == null) {
|
||||
_targetLanguageFilter.value =
|
||||
MatrixState.pangeaController.userController.userL2;
|
||||
}
|
||||
|
||||
_loadCourses();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue