diff --git a/lib/ui/settings/company_details.dart b/lib/ui/settings/company_details.dart index 7f1b9bf2c..81d769751 100644 --- a/lib/ui/settings/company_details.dart +++ b/lib/ui/settings/company_details.dart @@ -14,6 +14,7 @@ import 'package:invoiceninja_flutter/ui/app/resources/cached_image.dart'; import 'package:invoiceninja_flutter/ui/settings/company_details_vm.dart'; import 'package:invoiceninja_flutter/ui/settings/settings_scaffold.dart'; import 'package:invoiceninja_flutter/utils/completers.dart'; +import 'package:invoiceninja_flutter/utils/dialogs.dart'; import 'package:invoiceninja_flutter/utils/formatting.dart'; import 'package:invoiceninja_flutter/utils/localization.dart'; @@ -333,7 +334,10 @@ class _CompanyDetailsState extends State label: localization.delete, icon: Icons.delete, onPressed: () { - viewModel.onDeleteLogo(context); + confirmDelete( + context: context, + callback: () => + viewModel.onDeleteLogo(context)); }, ), ), diff --git a/lib/utils/dialogs.dart b/lib/utils/dialogs.dart new file mode 100644 index 000000000..c0354d18c --- /dev/null +++ b/lib/utils/dialogs.dart @@ -0,0 +1,28 @@ +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:invoiceninja_flutter/utils/localization.dart'; + +void confirmDelete({BuildContext context, VoidCallback callback}) { + final localization = AppLocalization.of(context); + + showDialog( + context: context, + builder: (BuildContext context) => AlertDialog( + semanticLabel: localization.areYouSure, + title: Text(localization.areYouSure), + actions: [ + FlatButton( + child: Text(localization.cancel.toUpperCase()), + onPressed: () { + Navigator.pop(context); + }), + FlatButton( + child: Text(localization.ok.toUpperCase()), + onPressed: () { + Navigator.pop(context); + callback(); + }) + ], + ), + ); +}