import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:syncrow_web/utils/color_manager.dart'; Future showCustomDialog({ required BuildContext context, required String message, String? title, String? iconPath, Widget? widget, double? dialogHeight, double? iconHeight, double? iconWidth, VoidCallback? onOkPressed, bool barrierDismissible = false, required actions, }) { return showDialog( context: context, barrierDismissible: barrierDismissible, builder: (BuildContext context) { final size = MediaQuery.of(context).size; return AlertDialog( alignment: Alignment.center, content: SizedBox( height: dialogHeight ?? size.height * 0.15, child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ if (iconPath != null) SvgPicture.asset( iconPath, height: iconHeight ?? 35, width: iconWidth ?? 35, ), if (title != null) Padding( padding: const EdgeInsets.only(top: 8.0), child: Text( title, style: Theme.of(context).textTheme.headlineLarge!.copyWith( fontSize: 20, fontWeight: FontWeight.w400, color: Colors.black), ), ), Padding( padding: const EdgeInsets.only(top: 8.0), child: Text( message, style: Theme.of(context) .textTheme .bodyMedium! .copyWith(color: Colors.black), textAlign: TextAlign.center, ), ), if(widget!=null) Expanded(child:widget) ], ), ), actionsAlignment: MainAxisAlignment.center, actions: [ TextButton( onPressed: onOkPressed ?? () => Navigator.of(context).pop(), child: Text( 'OK', style: Theme.of(context).textTheme.bodySmall!.copyWith( fontWeight: FontWeight.w400, color: ColorsManager.blackColor, fontSize: 16), ), ), ], ); }, ); }