dialogWithTwoOptions static method
dynamic
dialogWithTwoOptions({
- required BuildContext buildContext,
- required String dialogMessage,
- required VoidCallback yesFunction,
- required VoidCallback noFunction,
- String? yesButtonText,
- String? noButtonText,
- Color? dialogMessageColor,
- Color? dialogButtonColor,
Implementation
static dialogWithTwoOptions({
required BuildContext buildContext,
required String dialogMessage,
required VoidCallback yesFunction,
required VoidCallback noFunction,
String? yesButtonText,
String? noButtonText,
Color? dialogMessageColor,
Color? dialogButtonColor,
}) {
final config = ImosysAppWrapper.of(buildContext);
final isDarkTheme = _isDark(config, buildContext);
final resolvedMessageColor = dialogMessageColor ??
config.dialogMessageColor ??
(isDarkTheme
? config.semanticColors.onSurface
: config.defaultFontColor);
final resolvedButtonColor =
dialogButtonColor ?? config.dialogButtonColor ?? config.semanticColors.info;
return Platform.isAndroid
? showDialog(
context: buildContext,
builder: (BuildContext context) {
return AlertDialog(
content: ImosysTextWidget(
text: dialogMessage,
color: resolvedMessageColor,
),
actions: <Widget>[
TextButton(
child: ImosysTextWidget(
text: yesButtonText ?? ImosysStrings.yes,
color: resolvedButtonColor,
),
onPressed: () {
yesFunction.call();
},
),
TextButton(
child: ImosysTextWidget(
text: noButtonText ?? ImosysStrings.no,
color: resolvedButtonColor,
),
onPressed: () {
noFunction.call();
},
),
],
);
},
)
: showCupertinoDialog(
context: buildContext,
builder: (BuildContext context) => CupertinoAlertDialog(
content: ImosysTextWidget(
text: dialogMessage,
color: resolvedMessageColor,
),
actions: <CupertinoDialogAction>[
CupertinoDialogAction(
onPressed: () {
noFunction.call();
},
child: ImosysTextWidget(
text: noButtonText ?? ImosysStrings.no,
size: 16,
color: resolvedButtonColor,
),
),
CupertinoDialogAction(
isDefaultAction: true,
onPressed: () {
yesFunction.call();
},
child: ImosysTextWidget(
text: yesButtonText ?? ImosysStrings.yes,
size: 16,
color: resolvedButtonColor,
),
),
],
),
);
}