showAlertDialog<T> function

Future<T?> showAlertDialog<T>(
  1. BuildContext context, {
  2. String? title,
  3. String? content,
  4. VoidCallback? onClose,
  5. VoidCallback? onOk,
  6. String titleClose = 'Close',
  7. String titleOk = 'Ok',
  8. bool barrierDismissible = true,
  9. bool useRootNavigator = false,
})

actions: a builder with dismiss callback to dismiss the dialog

Implementation

Future<T?> showAlertDialog<T>(
  BuildContext context, {
  String? title,
  String? content,
  VoidCallback? onClose,
  VoidCallback? onOk,
  String titleClose = 'Close',
  String titleOk = 'Ok',
  bool barrierDismissible = true,
  bool useRootNavigator = false,
}) {
  return showDialog<T>(
    context: context,
    barrierDismissible: barrierDismissible,
    useRootNavigator: useRootNavigator,
    builder: (context) {
      return AlertDialog(
        title: title != null ? Text(title) : null,
        content: content != null ? Text(content) : null,
        actions: [
          ElevatedButton(
              onPressed: () {
                pop(context);
                onClose?.call();
              },
              child: Text(titleClose)),
          if (onOk != null)
            ElevatedButton(
                onPressed: () {
                  pop(context);
                  onOk();
                },
                child: Text(titleOk)),
        ],
      );
    },
  );
}