showInfoDialog function

Future<void> showInfoDialog(
  1. BuildContext context, {
  2. String? title,
  3. String? subtitle,
  4. String? closeText,
  5. VoidCallback? onClose,
  6. DialogPosition position = DialogPosition.center,
  7. Widget? content,
  8. BoxDecoration? decoration,
  9. TextStyle? titleStyle,
  10. TextStyle? subtitleStyle,
  11. double? contentPadding,
  12. bool? divider,
  13. Color? dividerColor,
  14. List<Color>? gradientColors,
})

Implementation

Future<void> showInfoDialog(
  BuildContext context, {
  String? title,
  String? subtitle,
  String? closeText,
  VoidCallback? onClose,
  DialogPosition position = DialogPosition.center,
  Widget? content,
  BoxDecoration? decoration,
  TextStyle? titleStyle,
  TextStyle? subtitleStyle,
  double? contentPadding,
  bool? divider,
  Color? dividerColor,
  List<Color>? gradientColors,
}) {
  if (position == DialogPosition.bottom) {
    return showModalBottomSheet(
      context: context,
      isDismissible: false,
      backgroundColor: Colors.transparent,
      barrierColor: Colors.black.withValues(alpha: 0.2),
      shape: const RoundedRectangleBorder(
        borderRadius: BorderRadius.vertical(top: Radius.circular(16)),
      ),
      builder: (context) {
        return ClipRRect(
          borderRadius: const BorderRadius.vertical(top: Radius.circular(16)),
          child: IntrinsicHeight(
            child: _BaseDialog(
              title: title,
              subtitle: subtitle,
              closeText: closeText,
              onClose: onClose,
              position: position,
              content: content,
              decoration: decoration,
              titleStyle: titleStyle,
              subtitleStyle: subtitleStyle,
              contentPadding: contentPadding,
              divider: divider ?? false,
              dividerColor: dividerColor,
              gradientColors: gradientColors,
              type: DialogType.info,
            ),
          ),
        );
      },
    );
  } else {
    return showDialog(
      context: context,
      barrierDismissible: false,
      builder: (_) {
        return _AnimatedDialog(
          child: Dialog(
            backgroundColor: Colors.transparent,
            insetPadding: const EdgeInsets.all(16),
            child: _BaseDialog(
              title: title,
              subtitle: subtitle,
              closeText: closeText,
              onClose: onClose,
              position: position,
              content: content,
              decoration: decoration,
              titleStyle: titleStyle,
              subtitleStyle: subtitleStyle,
              contentPadding: contentPadding,
              divider: divider ?? false,
              dividerColor: dividerColor,
              gradientColors: gradientColors,
              type: DialogType.info,
            ),
          ),
        );
      },
    );
  }
}