YurDialog1 function

Future YurDialog1({
  1. required String title,
  2. required String subtitle,
  3. required String buttonConfirm,
  4. required dynamic onPressedConfirm(),
  5. double? sizeSubtitle,
  6. String? buttonCancel,
  7. Widget? icon,
  8. bool isDismisable = true,
  9. bool? isWithPostFrame,
  10. FontWeight? fontWeight,
})

Implementation

Future<dynamic> YurDialog1({
  required String title,
  required String subtitle,
  required String buttonConfirm,
  required Function() onPressedConfirm,
  double? sizeSubtitle,
  String? buttonCancel,
  Widget? icon,
  bool isDismisable = true,
  bool? isWithPostFrame,
  FontWeight? fontWeight,
}) {
  var showDialog2 = showDialog(
    context: Get.context,
    barrierDismissible: isDismisable,
    builder: (BuildContext context) {
      return AlertDialog(
        title: YurText(
          text: title,
          textAlign: TextAlign.center,
          fontWeight: FontWeight.bold,
          fontSize: 20,
        ),
        content: YurText(
          text: subtitle,
          textAlign: TextAlign.start,
          fontWeight: fontWeight ?? FontWeight.w300,
          fontSize: sizeSubtitle ?? 14,
          maxLines: 10,
        ),
        actions: [
          Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: [
              if (buttonCancel != null)
                Expanded(
                  child: YurButton(
                    buttonStyle: BStyle.primaryRed,
                    text: buttonCancel,
                    onPressed: Get.back,
                  ),
                ),
              gap12,
              Expanded(
                child: YurButton(
                  buttonStyle: BStyle.fullRed,
                  text: buttonConfirm,
                  onPressed: () {
                    onPressedConfirm();
                    Get.back();
                  },
                ),
              ),
            ],
          ),
        ],
        icon: icon,
        backgroundColor: Colors.white.withOpacity(0.9),
        elevation: 24,
        shadowColor: Colors.black,
        surfaceTintColor: Colors.white,
        shape: const RoundedRectangleBorder(borderRadius: br16),
      );
    },
  );

  if (isWithPostFrame ?? false) {
    WidgetsBinding.instance.addPostFrameCallback((_) => showDialog2);
  }
  return showDialog2;
}