confirmDialog static method

Future<bool> confirmDialog(
  1. BuildContext context, {
  2. String title = 'Confirmação',
  3. String content = '',
  4. String confirmText = 'Confirmar',
  5. String cancelText = 'Cancelar',
  6. Color confirmColor = Colors.red,
  7. Color cancelColor = Colors.grey,
  8. required Function onConfirm,
})

Implementation

static Future<bool> confirmDialog(
  BuildContext context, {
  String title = 'Confirmação',
  String content = '',
  String confirmText = 'Confirmar',
  String cancelText = 'Cancelar',
  Color confirmColor = Colors.red,
  Color cancelColor = Colors.grey,
  required Function onConfirm,
}) async {
  var confirmStyle =
      ButtonStyle(backgroundColor: MaterialStateProperty.all(confirmColor));
  var cancelStyle =
      ButtonStyle(backgroundColor: MaterialStateProperty.all(cancelColor));
  return await showDialog(
    context: context,
    builder: (context) {
      return AlertDialog(
        title: Text(title, textAlign: TextAlign.center),
        content: Text(content, textAlign: TextAlign.center),
        actionsAlignment: MainAxisAlignment.spaceEvenly,
        actions: <Widget>[
          ElevatedButton(
            style: cancelStyle,
            child: Text(cancelText),
            onPressed: () {
              Navigator.of(context).pop(false);
            },
          ),
          ElevatedButton(
            style: confirmStyle,
            child: Text(confirmText),
            onPressed: () {
              onConfirm();
              Navigator.of(context).pop(true);
            },
          ),
        ],
      );
    },
  );
}