diff --git a/lib/utils/adaptive_bottom_sheet.dart b/lib/utils/adaptive_bottom_sheet.dart index e80c75d19..bdd323c61 100644 --- a/lib/utils/adaptive_bottom_sheet.dart +++ b/lib/utils/adaptive_bottom_sheet.dart @@ -35,7 +35,6 @@ Future showAdaptiveBottomSheet({ maxWidth: FluffyThemes.columnWidth * 1.25, ), backgroundColor: Colors.transparent, - showDragHandle: !dialogMode, clipBehavior: Clip.hardEdge, ); } diff --git a/lib/widgets/adaptive_dialogs/adaptive_dialog_action.dart b/lib/widgets/adaptive_dialogs/adaptive_dialog_action.dart index 3df21c33b..12ce7c8ae 100644 --- a/lib/widgets/adaptive_dialogs/adaptive_dialog_action.dart +++ b/lib/widgets/adaptive_dialogs/adaptive_dialog_action.dart @@ -3,12 +3,14 @@ import 'package:flutter/material.dart'; class AdaptiveDialogAction extends StatelessWidget { final VoidCallback? onPressed; + final bool autofocus; final Widget child; const AdaptiveDialogAction({ super.key, required this.onPressed, required this.child, + this.autofocus = false, }); @override @@ -19,10 +21,18 @@ class AdaptiveDialogAction extends StatelessWidget { case TargetPlatform.fuchsia: case TargetPlatform.linux: case TargetPlatform.windows: - return TextButton(onPressed: onPressed, child: child); + return TextButton( + onPressed: onPressed, + autofocus: autofocus, + child: child, + ); case TargetPlatform.iOS: case TargetPlatform.macOS: - return CupertinoDialogAction(onPressed: onPressed, child: child); + return CupertinoDialogAction( + onPressed: onPressed, + isDefaultAction: autofocus, + child: child, + ); } } } diff --git a/lib/widgets/adaptive_dialogs/show_ok_cancel_alert_dialog.dart b/lib/widgets/adaptive_dialogs/show_ok_cancel_alert_dialog.dart index 7e622cc47..c8fb53c38 100644 --- a/lib/widgets/adaptive_dialogs/show_ok_cancel_alert_dialog.dart +++ b/lib/widgets/adaptive_dialogs/show_ok_cancel_alert_dialog.dart @@ -36,6 +36,7 @@ Future showOkCancelAlertDialog({ AdaptiveDialogAction( onPressed: () => Navigator.of(context).pop(OkCancelResult.ok), + autofocus: true, child: Text( okLabel ?? L10n.of(context).ok, style: isDestructive @@ -70,6 +71,7 @@ Future showOkAlertDialog({ AdaptiveDialogAction( onPressed: () => Navigator.of(context).pop(OkCancelResult.ok), + autofocus: true, child: Text(okLabel ?? L10n.of(context).close), ), ], diff --git a/lib/widgets/adaptive_dialogs/show_text_input_dialog.dart b/lib/widgets/adaptive_dialogs/show_text_input_dialog.dart index b7af8d9ad..3a0f02e0b 100644 --- a/lib/widgets/adaptive_dialogs/show_text_input_dialog.dart +++ b/lib/widgets/adaptive_dialogs/show_text_input_dialog.dart @@ -87,6 +87,7 @@ Future showTextInputDialog({ } Navigator.of(context).pop(input); }, + autofocus: true, child: Text( okLabel ?? L10n.of(context).ok, style: isDestructive