confirm<T> static method
Future<T?>
confirm<T>(
- BuildContext context, {
- String title = "Confirmation",
- String content = "",
- required ButtonWidget okButton,
- ButtonWidget? cancelButton,
- bool barrierDismisable = true,
Implementation
static Future<T?> confirm<T>(
BuildContext context, {
String title = "Confirmation",
String content = "",
required ButtonWidget okButton,
ButtonWidget? cancelButton,
bool barrierDismisable = true,
}) async {
var size = MediaQuery.of(context).size;
var dialog = Dialog(
backgroundColor: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
),
child: Container(
width: _isLargeDevice(size) ? 350 : size.width - 40,
constraints: BoxConstraints(
maxHeight: size.height - 80,
),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
color: Colors.white,
),
child: SingleChildScrollView(
child: Container(
padding: const EdgeInsets.symmetric(horizontal: 20),
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const SizedBox(height: 10),
Text(
title,
style: Theme.of(context).textTheme.bodyText1!.copyWith(
fontWeight: FontWeight.bold,
),
),
const Divider(),
Text(content),
const Divider(),
Container(
alignment: Alignment.centerRight,
child: Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
okButton,
if (cancelButton != null) const SizedBox(width: 5),
if (cancelButton != null) cancelButton,
],
),
),
const SizedBox(height: 10),
],
),
),
),
),
);
return showDialog(
context: context,
barrierDismissible: barrierDismisable,
builder: (context) {
return dialog;
});
}