|
@@ -9,14 +9,17 @@ import 'package:photos/ui/components/button_widget.dart';
|
|
import 'package:photos/ui/components/models/button_type.dart';
|
|
import 'package:photos/ui/components/models/button_type.dart';
|
|
import 'package:photos/utils/separators_util.dart';
|
|
import 'package:photos/utils/separators_util.dart';
|
|
|
|
|
|
|
|
+///Will return null if dismissed by tapping outside
|
|
Future<ButtonAction?> showGenericErrorDialog({
|
|
Future<ButtonAction?> showGenericErrorDialog({
|
|
required BuildContext context,
|
|
required BuildContext context,
|
|
|
|
+ bool isDismissible = true,
|
|
}) async {
|
|
}) async {
|
|
return showDialogWidget(
|
|
return showDialogWidget(
|
|
context: context,
|
|
context: context,
|
|
title: "Error",
|
|
title: "Error",
|
|
icon: Icons.error_outline_outlined,
|
|
icon: Icons.error_outline_outlined,
|
|
body: "It looks like something went wrong. Please try again.",
|
|
body: "It looks like something went wrong. Please try again.",
|
|
|
|
+ isDismissible: isDismissible,
|
|
buttons: const [
|
|
buttons: const [
|
|
ButtonWidget(
|
|
ButtonWidget(
|
|
buttonType: ButtonType.secondary,
|
|
buttonType: ButtonType.secondary,
|
|
@@ -27,6 +30,7 @@ Future<ButtonAction?> showGenericErrorDialog({
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+///Will return null if dismissed by tapping outside
|
|
Future<ButtonAction?> showNewChoiceDialog({
|
|
Future<ButtonAction?> showNewChoiceDialog({
|
|
required BuildContext context,
|
|
required BuildContext context,
|
|
required String title,
|
|
required String title,
|
|
@@ -41,6 +45,7 @@ Future<ButtonAction?> showNewChoiceDialog({
|
|
FutureVoidCallback? secondButtonOnTap,
|
|
FutureVoidCallback? secondButtonOnTap,
|
|
bool isCritical = false,
|
|
bool isCritical = false,
|
|
IconData? icon,
|
|
IconData? icon,
|
|
|
|
+ bool isDismissible = true,
|
|
}) async {
|
|
}) async {
|
|
final buttons = [
|
|
final buttons = [
|
|
ButtonWidget(
|
|
ButtonWidget(
|
|
@@ -64,18 +69,21 @@ Future<ButtonAction?> showNewChoiceDialog({
|
|
body: body,
|
|
body: body,
|
|
buttons: buttons,
|
|
buttons: buttons,
|
|
icon: icon,
|
|
icon: icon,
|
|
|
|
+ isDismissible: isDismissible,
|
|
);
|
|
);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+///Will return null if dismissed by tapping outside
|
|
Future<ButtonAction?> showDialogWidget({
|
|
Future<ButtonAction?> showDialogWidget({
|
|
required BuildContext context,
|
|
required BuildContext context,
|
|
required String title,
|
|
required String title,
|
|
String? body,
|
|
String? body,
|
|
required List<ButtonWidget> buttons,
|
|
required List<ButtonWidget> buttons,
|
|
IconData? icon,
|
|
IconData? icon,
|
|
|
|
+ bool isDismissible = true,
|
|
}) {
|
|
}) {
|
|
return showDialog(
|
|
return showDialog(
|
|
- barrierDismissible: false,
|
|
|
|
|
|
+ barrierDismissible: isDismissible,
|
|
barrierColor: backdropFaintDark,
|
|
barrierColor: backdropFaintDark,
|
|
context: context,
|
|
context: context,
|
|
builder: (context) {
|
|
builder: (context) {
|