From 8a4ca7ee98ce97932b49d6539ee1f0a2a57b631e Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Thu, 20 Feb 2025 14:07:02 -0500 Subject: [PATCH] fix: update base/target language on dropdown value change in activity planner (#1869) --- lib/pages/chat_list/chat_list.dart | 1 - .../activity_planner_page.dart | 27 +++++++++++++------ 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/lib/pages/chat_list/chat_list.dart b/lib/pages/chat_list/chat_list.dart index a22ac0d04..c3826b1e4 100644 --- a/lib/pages/chat_list/chat_list.dart +++ b/lib/pages/chat_list/chat_list.dart @@ -43,7 +43,6 @@ import '../../widgets/matrix.dart'; import 'package:fluffychat/utils/tor_stub.dart' if (dart.library.html) 'package:tor_detector_web/tor_detector_web.dart'; - enum PopupMenuAction { settings, invite, diff --git a/lib/pangea/activity_planner/activity_planner_page.dart b/lib/pangea/activity_planner/activity_planner_page.dart index b6d61af8d..53765c929 100644 --- a/lib/pangea/activity_planner/activity_planner_page.dart +++ b/lib/pangea/activity_planner/activity_planner_page.dart @@ -19,6 +19,7 @@ import 'package:fluffychat/pangea/instructions/instructions_enum.dart'; import 'package:fluffychat/pangea/instructions/instructions_inline_tooltip.dart'; import 'package:fluffychat/pangea/learning_settings/constants/language_constants.dart'; import 'package:fluffychat/pangea/learning_settings/enums/language_level_type_enum.dart'; +import 'package:fluffychat/pangea/learning_settings/utils/language_list_util.dart'; import 'package:fluffychat/pangea/learning_settings/widgets/p_language_dropdown.dart'; import 'package:fluffychat/widgets/matrix.dart'; @@ -276,10 +277,15 @@ class ActivityPlannerPageState extends State { PLanguageDropdown( languages: MatrixState .pangeaController.pLanguageStore.baseOptions, - onChange: (val) => - _selectedLanguageOfInstructions = val.langCode, - initialLanguage: MatrixState - .pangeaController.languageController.userL1, + onChange: (val) => setState( + () => _selectedLanguageOfInstructions = val.langCode, + ), + initialLanguage: _selectedLanguageOfInstructions != null + ? PangeaLanguage.byLangCode( + _selectedLanguageOfInstructions!, + ) + : MatrixState + .pangeaController.languageController.userL1, isL2List: false, decorationText: L10n.of(context).languageOfInstructionsLabel, @@ -288,10 +294,15 @@ class ActivityPlannerPageState extends State { PLanguageDropdown( languages: MatrixState .pangeaController.pLanguageStore.targetOptions, - onChange: (val) => - _selectedTargetLanguage = val.langCode, - initialLanguage: MatrixState - .pangeaController.languageController.userL2, + onChange: (val) => setState( + () => _selectedTargetLanguage = val.langCode, + ), + initialLanguage: _selectedTargetLanguage != null + ? PangeaLanguage.byLangCode( + _selectedTargetLanguage!, + ) + : MatrixState + .pangeaController.languageController.userL2, decorationText: L10n.of(context).targetLanguageLabel, isL2List: true, ),