diff --git a/lib/view/pages/more/feedback/feedbackDialog.dart b/lib/view/pages/more/feedback/feedbackDialog.dart index 3f63e26..2e0a3e7 100644 --- a/lib/view/pages/more/feedback/feedbackDialog.dart +++ b/lib/view/pages/more/feedback/feedbackDialog.dart @@ -14,6 +14,7 @@ import '../../../../api/mhsl/server/feedback/addFeedbackParams.dart'; import '../../../../model/accountData.dart'; import '../../../../storage/base/settingsProvider.dart'; import '../../../../widget/filePick.dart'; +import '../../../../widget/focusBehaviour.dart'; import '../../../../widget/infoDialog.dart'; class FeedbackDialog extends StatefulWidget { @@ -68,6 +69,7 @@ class _FeedbackDialogState extends State { ), minLines: 4, maxLines: 7, + onTapOutside: (PointerDownEvent event) => FocusBehaviour.textFieldTapOutside(context), ), ), const SizedBox(height: 10), diff --git a/lib/view/pages/talk/chatView.dart b/lib/view/pages/talk/chatView.dart index 4931187..92fe293 100644 --- a/lib/view/pages/talk/chatView.dart +++ b/lib/view/pages/talk/chatView.dart @@ -115,7 +115,7 @@ class _ChatViewState extends State { scale: 1.5, opacity: 1, repeat: ImageRepeat.repeat, - invertColors: AppTheme.isDarkMode(context) + invertColors: AppTheme.isDarkMode(context), ) ), child: data.primaryLoading() ? const LoadingSpinner() : Column( diff --git a/lib/view/pages/talk/components/chatTextfield.dart b/lib/view/pages/talk/components/chatTextfield.dart index 1ec6b68..5513d8a 100644 --- a/lib/view/pages/talk/components/chatTextfield.dart +++ b/lib/view/pages/talk/components/chatTextfield.dart @@ -14,6 +14,7 @@ import '../../../../api/marianumcloud/webdav/webdavApi.dart'; import '../../../../model/chatList/chatProps.dart'; import '../../../../storage/base/settingsProvider.dart'; import '../../../../widget/filePick.dart'; +import '../../../../widget/focusBehaviour.dart'; import '../../files/fileUploadDialog.dart'; class ChatTextfield extends StatefulWidget { @@ -156,6 +157,7 @@ class _ChatTextfieldState extends State { } setDraft(text); }, + onTapOutside: (PointerDownEvent event) => FocusBehaviour.textFieldTapOutside(context), ), ), const SizedBox(width: 15), diff --git a/lib/view/pages/timetable/customTimetableEventEditDialog.dart b/lib/view/pages/timetable/customTimetableEventEditDialog.dart index 02844f3..f08aafd 100644 --- a/lib/view/pages/timetable/customTimetableEventEditDialog.dart +++ b/lib/view/pages/timetable/customTimetableEventEditDialog.dart @@ -15,6 +15,7 @@ import '../../../api/mhsl/customTimetableEvent/update/updateCustomTimetableEvent import '../../../api/mhsl/customTimetableEvent/update/updateCustomTimetableEventParams.dart'; import '../../../model/accountData.dart'; import '../../../model/timetable/timetableProps.dart'; +import '../../../widget/focusBehaviour.dart'; import '../../../widget/infoDialog.dart'; import 'customTimetableColors.dart'; @@ -67,6 +68,7 @@ class _AddCustomTimetableEventDialogState extends State FocusBehaviour.textFieldTapOutside(context), ), ), ListTile( @@ -78,6 +80,7 @@ class _AddCustomTimetableEventDialogState extends State FocusBehaviour.textFieldTapOutside(context), ), ), const Divider(), diff --git a/lib/widget/focusBehaviour.dart b/lib/widget/focusBehaviour.dart new file mode 100644 index 0000000..fe5a52b --- /dev/null +++ b/lib/widget/focusBehaviour.dart @@ -0,0 +1,7 @@ +import 'package:flutter/cupertino.dart'; + +class FocusBehaviour { + static void textFieldTapOutside(BuildContext context) { + FocusScope.of(context).requestFocus(FocusNode()); + } +} \ No newline at end of file diff --git a/lib/widget/quickMenu.dart b/lib/widget/quickMenu.dart deleted file mode 100644 index 0c39968..0000000 --- a/lib/widget/quickMenu.dart +++ /dev/null @@ -1,23 +0,0 @@ -import 'package:flutter/material.dart'; - -class QuickMenu { - static void quickMenu(BuildContext context, BuildContext widgetContext, List> items) { - final RenderBox overlay = Overlay.of(context).context.findRenderObject() as RenderBox; - - final RenderBox widgetRenderBox = widgetContext.findRenderObject() as RenderBox; - final Offset position = widgetRenderBox.localToGlobal(Offset.zero); - - showMenu( - context: context, - position: RelativeRect.fromRect( - Rect.fromPoints( - position, - position.translate(0, 0), - ), - Offset.zero & overlay.size, - ), - items: items, - ); - } - -} \ No newline at end of file