OpenCustomDialog.confirm constructor
OpenCustomDialog.confirm(
- BuildContext context, {
- required String title,
- String? subtitle,
- String? confirmButtonText,
- String? cancelButtonText,
- dynamic onClose(
- dynamic
- Widget? noticeIcon,
- CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center,
- bool compact = false,
- Color? accentColor,
- Color? backgroundColor,
- double? minHeight,
- 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,
);
}