showAppModal<T> function

Future<T?> showAppModal<T>(
  1. BuildContext context, {
  2. Widget? title,
  3. Widget? message,
  4. List<Widget>? actions,
  5. Widget? customCloseIcon,
  6. Widget? icon,
  7. Color? backgroundColor,
  8. ShapeBorder? shape,
  9. bool barrierDismissible = false,
  10. EdgeInsetsGeometry? contentPadding,
  11. EdgeInsets? insetPadding,
  12. bool useRootNavigator = true,
  13. Axis actionsDirection = Axis.vertical,
  14. double titlesActionsSpacing = 60,
  15. double iconTitlesSpacing = 16,
  16. double textsSpacing = 16,
  17. double actionsSpacing = 16,
})

Implementation

Future<T?> showAppModal<T>(
  BuildContext context, {
  Widget? title,
  Widget? message,
  List<Widget>? actions,
  Widget? customCloseIcon,
  Widget? icon,
  Color? backgroundColor,
  ShapeBorder? shape,
  bool barrierDismissible = false,
  EdgeInsetsGeometry? contentPadding,
  EdgeInsets? insetPadding,
  bool useRootNavigator = true,
  Axis actionsDirection = Axis.vertical,
  /**
   * Define the spacing betweenn the titles-message -> actions
   */
  double titlesActionsSpacing = 60,
  /**
   * Define the spacing between icon -> title
   */
  double iconTitlesSpacing = 16,
  /**
   * Define the spacing between title -> message
   */
  double textsSpacing = 16,
  /**
   * Define spacing between each action
   */
  double actionsSpacing = 16,
}) {
  return showDialog<T>(
    context: context,
    barrierDismissible: barrierDismissible,
    builder: (context) {
      return SimpleDialog(
        contentPadding: EdgeInsets.zero,
        titlePadding: EdgeInsets.zero,
        backgroundColor: backgroundColor,
        shape: shape,
        alignment: AlignmentDirectional.center,
        insetPadding: insetPadding ?? _defaultInsetPadding,
        // title: _AppModalTitle(
        //   child: title,
        // ),
        children: [
          _AppModalContent(
            contentPadding: contentPadding,
            message: message,
            customCloseIcon: customCloseIcon,
            icon: icon,
            title: title,
            actions: actions,
            actionsDirection: actionsDirection,
            titlesActionsSpacing: titlesActionsSpacing,
            iconTitlesSpacing: iconTitlesSpacing,
            textsSpacing: textsSpacing,
            actionsSpacing: actionsSpacing,
          ),
        ],
      );
    },
    useRootNavigator: useRootNavigator,
  );
}