diff --git a/lib/main.dart b/lib/main.dart index e3ddb1fe..3e4b3c81 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -14,6 +14,7 @@ import 'core/app_export.dart'; import 'package:hive_flutter/hive_flutter.dart'; import 'package:path_provider/path_provider.dart'; import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:keyboard_dismisser/keyboard_dismisser.dart'; var globalMessengerKey = GlobalKey(); @@ -70,7 +71,12 @@ class MyApp extends StatelessWidget { ], child: BlocBuilder( builder: (context, state) { - return MaterialApp.router( + return KeyboardDismisser( + gestures: [ + GestureType.onTap, + GestureType.onPanUpdateDownDirection, + ], + child: MaterialApp.router( theme: theme, title: 'Eatvio', routerConfig: AppRouter.appRouter, @@ -87,7 +93,7 @@ class MyApp extends StatelessWidget { '', ), ], - ); + )); }, ), ); diff --git a/lib/widgets/custom_text_form_field.dart b/lib/widgets/custom_text_form_field.dart index 69416278..dcba88cb 100644 --- a/lib/widgets/custom_text_form_field.dart +++ b/lib/widgets/custom_text_form_field.dart @@ -73,7 +73,7 @@ class CustomTextFormField extends StatelessWidget { width: width ?? double.maxFinite, child: TextFormField( controller: controller, - focusNode: focusNode ?? FocusNode(), + focusNode: focusNode ?? null, autofocus: autofocus!, style: textStyle ?? theme.textTheme.titleMedium, obscureText: obscureText!, @@ -129,7 +129,7 @@ class CustomTextFormField extends StatelessWidget { width: width ?? double.maxFinite, child: TextFormField( controller: controller, - focusNode: focusNode ?? FocusNode(), + focusNode: focusNode ?? null, autofocus: autofocus!, style: textStyle ?? theme.textTheme.titleMedium, obscureText: obscureText!, diff --git a/pubspec.yaml b/pubspec.yaml index 26be6077..35f447c7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -29,6 +29,7 @@ dependencies: bloc_test: ^9.1.6 # navigation go_router: ^14.1.4 + keyboard_dismisser: ^3.0.0 dev_dependencies: dart_code_metrics: ^5.7.6