From 65149bb1fa1a721b55bc5195501b05bfcabe324c Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Fri, 7 Feb 2025 15:34:37 -0500 Subject: [PATCH] fix: unfocus keyboard on click outside in activity planner page, add done button to final text field (#1732) --- lib/pangea/activity_planner/activity_planner_page.dart | 9 ++++++++- lib/pangea/activity_planner/suggestion_form_field.dart | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/pangea/activity_planner/activity_planner_page.dart b/lib/pangea/activity_planner/activity_planner_page.dart index 098cc31bc..b6d61af8d 100644 --- a/lib/pangea/activity_planner/activity_planner_page.dart +++ b/lib/pangea/activity_planner/activity_planner_page.dart @@ -300,7 +300,7 @@ class ActivityPlannerPageState extends State { decoration: InputDecoration( labelText: l10n.numberOfLearners, ), - keyboardType: TextInputType.number, + textInputAction: TextInputAction.done, validator: (value) { if (value == null || value.isEmpty) { return l10n.mustBeInteger; @@ -314,6 +314,13 @@ class ActivityPlannerPageState extends State { onChanged: (val) => _selectedNumberOfParticipants = int.tryParse(val), initialValue: _selectedNumberOfParticipants?.toString(), + onTapOutside: (_) => + FocusManager.instance.primaryFocus?.unfocus(), + onFieldSubmitted: (_) { + if (_formKey.currentState?.validate() ?? false) { + _generateActivities(); + } + }, ), const SizedBox(height: 24), ElevatedButton( diff --git a/lib/pangea/activity_planner/suggestion_form_field.dart b/lib/pangea/activity_planner/suggestion_form_field.dart index 23f5cacf2..2b3245cde 100644 --- a/lib/pangea/activity_planner/suggestion_form_field.dart +++ b/lib/pangea/activity_planner/suggestion_form_field.dart @@ -49,6 +49,7 @@ class SuggestionFormField extends StatelessWidget { hintText: placeholder, ), validator: validator, + onTapOutside: (_) => FocusManager.instance.primaryFocus?.unfocus(), ); }, );