diff --git a/app/lib/common/widgets/page_scaffold.dart b/app/lib/common/widgets/page_scaffold.dart index ff30215f..a4aa1443 100644 --- a/app/lib/common/widgets/page_scaffold.dart +++ b/app/lib/common/widgets/page_scaffold.dart @@ -62,12 +62,13 @@ Scaffold pageScaffold({ ); } -Scaffold unscrollablePageScaffold({ +Widget unscrollablePageScaffold({ required Widget body, String? title, String? titleTooltip, List? actions, bool canNavigateBack = true, + BuildContext? contextToDismissFocusOnTap, Key? key, }) { final appBar = title == null @@ -84,13 +85,18 @@ Scaffold unscrollablePageScaffold({ scrolledUnderElevation: 0, titleSpacing: _getTitleSpacing(backButtonPresent: canNavigateBack), ); - return Scaffold( - key: key, - appBar: appBar, - body: SafeArea( - child: Padding( - padding: pagePadding(), - child: body, + return GestureDetector( + onTap: () => contextToDismissFocusOnTap != null + ? FocusScope.of(contextToDismissFocusOnTap).unfocus() + : null, + child: Scaffold( + key: key, + appBar: appBar, + body: SafeArea( + child: Padding( + padding: pagePadding(), + child: body, + ), ), ), ); diff --git a/app/lib/common/widgets/scroll_list.dart b/app/lib/common/widgets/scroll_list.dart index f9ba25bf..82d63608 100644 --- a/app/lib/common/widgets/scroll_list.dart +++ b/app/lib/common/widgets/scroll_list.dart @@ -14,6 +14,7 @@ Widget scrollList(List body, { bool keepPosition = false }) { child: Padding( padding: EdgeInsets.only(right: PharMeTheme.mediumSpace), child: FlutterListView( + keyboardDismissBehavior: ScrollViewKeyboardDismissBehavior.onDrag, delegate: FlutterListViewDelegate( (context, index) => body[index], childCount: body.length, diff --git a/app/lib/drug_selection/pages/drug_selection.dart b/app/lib/drug_selection/pages/drug_selection.dart index ac0a997e..be91d793 100644 --- a/app/lib/drug_selection/pages/drug_selection.dart +++ b/app/lib/drug_selection/pages/drug_selection.dart @@ -32,6 +32,7 @@ class DrugSelectionPage extends HookWidget { return unscrollablePageScaffold( title: context.l10n.drug_selection_header, canNavigateBack: !concludesOnboarding, + contextToDismissFocusOnTap: context, body: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ diff --git a/app/lib/search/pages/search.dart b/app/lib/search/pages/search.dart index 3fedca59..3d7cc1b2 100644 --- a/app/lib/search/pages/search.dart +++ b/app/lib/search/pages/search.dart @@ -24,6 +24,7 @@ class SearchPage extends HookWidget { child: unscrollablePageScaffold( title: context.l10n.tab_drugs, canNavigateBack: false, + contextToDismissFocusOnTap: context, body: DrugSearch( key: Key('drug-search'), showFilter: true,