OpenCustomDialog.confirm constructor

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

Displays a confirmation dialog with "Confirm" and "Cancel" buttons.

Implementation

factory OpenCustomDialog.confirm(
  BuildContext context, {
  required String title,
  String? subtitle,
  String? confirmButtonText,
  String? cancelButtonText,
  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.neutral(
        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 ??
            (context, accentColor) => Row(
              children: [
                Expanded(
                  child: CustomActionButton.minimal(
                    minHeight: 0,
                    padding: const EdgeInsets.symmetric(
                      vertical: 10,
                      horizontal: 24,
                    ),
                    onPressed: () => Navigator.pop(ctx, false),
                    child: Text(cancelButtonText ?? 'Cancel'),
                  ),
                ),
                const SizedBox(width: 12),
                Expanded(
                  child: CustomActionButton.rounded(
                    minHeight: 0,
                    padding: const EdgeInsets.symmetric(
                      vertical: 10,
                      horizontal: 24,
                    ),
                    backgroundColor: Colors.green.shade600,
                    // Specific color for confirm
                    onPressed: () => Navigator.pop(ctx, true),
                    child: Text(confirmButtonText ?? 'Confirm'),
                  ),
                ),
              ],
            ),
      );
    },
    onClose: onClose,
  );
}