show static method

void show({
  1. required BuildContext context,
  2. String? title,
  3. Widget? child,
  4. String? okBtnTxt,
  5. String? cancelBtnTxt,
  6. Color? okBtnTxtColor,
  7. Color? cancelBtnTxtColor,
  8. Function? onCancel,
  9. required VoidCallback onOk,
})

Implementation

static void show({
  required BuildContext context,
  String? title,
  Widget? child,
  String? okBtnTxt,
  String? cancelBtnTxt,
  Color? okBtnTxtColor,
  Color? cancelBtnTxtColor,
  Function? onCancel,
  required VoidCallback onOk,
}) {
  try {
    _context = context;

    showDialog(
      context: context,
      builder: (BuildContext cntx) {
        final theme = Theme.of(cntx);

        // Cancel button
        final Widget cancelBtn = cancelBtnTxt == null
            ? const SizedBox.shrink()
            : TextButton(
                onPressed: onCancel as void Function()? ?? cancelDialog,
                child: Text(
                  cancelBtnTxt,
                  style: TextStyle(color: cancelBtnTxtColor ?? Colors.grey),
                ),
              );

        // OK button
        final Widget okBtn = okBtnTxt == null
            ? const SizedBox.shrink()
            : AppTxtBtn(
                onPressed: onOk,
                btnTextColor: okBtnTxtColor ?? Colors.green[900],
                btnText: okBtnTxt,
              );

        return AlertDialog(
          title: Text(
            title ?? '',
            style:
                theme.textTheme.titleMedium?.copyWith(
                  fontWeight: FontWeight.w600,
                  fontSize: 18,
                ) ??
                const TextStyle(fontSize: 18, fontWeight: FontWeight.w600),
          ),
          content: child,
          actions: <Widget>[
            Row(
              mainAxisAlignment: MainAxisAlignment.end,
              children: <Widget>[cancelBtn, const SizedBox(width: 12), okBtn],
            ),
          ],
          shape: RoundedRectangleBorder(
            borderRadius: BorderRadius.circular(12.0),
          ),
          elevation: 0.0,
        );
      },
    );
  } catch (e) {
    debugPrint('CustomDialog | show | error: $e');
  }
}