import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.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 List 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: actions); }, ); }