OpenCustomDialog.error constructor

OpenCustomDialog.error(
  1. BuildContext context, {
  2. required String title,
  3. String? subtitle,
  4. String? confirmButtonText,
  5. dynamic onClose(
    1. dynamic
    )?,
  6. Widget? noticeIcon,
  7. RistoFooterBuilder? footerBuilder,
  8. CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center,
  9. bool compact = false,
  10. Color? accentColor,
  11. Color? backgroundColor,
  12. double? minHeight,
  13. double? maxWidth,
})

Displays an error dialog. Does not have a footer button by default. Provide confirmButtonText to add one.

Implementation

factory OpenCustomDialog.error(
  BuildContext context, {
  required String title,
  String? subtitle,
  String? confirmButtonText, // Nullable to allow no button
  Function(dynamic)? onClose,
  // --- RistoNoticeCard Pass-through Properties ---
  Widget? noticeIcon,
  RistoFooterBuilder? footerBuilder,
  CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center,
  bool compact = false,
  Color? accentColor,
  Color? backgroundColor,
  double? minHeight,
  double? maxWidth,
}) {
  return OpenCustomDialog._internal(
    bodyBuilder: (ctx) {
      return RistoNoticeCard.error(
        title: title,
        subtitle: subtitle,
        showClose: true,
        onClose: () => Navigator.pop(ctx, null),
        noticeIcon: noticeIcon,
        crossAxisAlignment: crossAxisAlignment,
        compact: compact,
        accentColor: accentColor,
        backgroundColor: backgroundColor,
        minHeight: minHeight,
        maxWidth: maxWidth,
        footerBuilder:
            footerBuilder ??
            (confirmButtonText != null
                ? (context, accentColor) => CustomActionButton.rounded(
                    minHeight: 0,
                    padding: const EdgeInsets.symmetric(
                      vertical: 10,
                      horizontal: 24,
                    ),
                    backgroundColor: accentColor,
                    onPressed: () => Navigator.pop(ctx, true),
                    child: Text(confirmButtonText),
                  )
                : null),
      );
    },
    onClose: onClose,
  );
}