showGrockAdaptiveDialogWithIcon method

Future<void> showGrockAdaptiveDialogWithIcon({
  1. required String title,
  2. required String content,
  3. required String actionLabel,
  4. required VoidCallback action,
  5. required IconData icon,
})

Implementation

Future<void> showGrockAdaptiveDialogWithIcon({
  required String title,
  required String content,
  required String actionLabel,
  required VoidCallback action,
  required IconData icon,
}) async {
  if (Theme.of(context).platform == TargetPlatform.android) {
    return showDialog(
      context: context,
      builder: (context) => AlertDialog(
        title: Row(
          children: [
            Icon(icon),
            SizedBox(width: 10),
            Text(title),
          ],
        ),
        content: Text(content),
        actions: [
          TextButton(
            child: Text(actionLabel),
            onPressed: action,
          ),
        ],
      ),
    );
  } else {
    return showCupertinoDialog(
      context: context,
      builder: (context) => CupertinoAlertDialog(
        title: Row(
          children: [
            Icon(icon),
            SizedBox(width: 10),
            Text(title),
          ],
        ),
        content: Text(content),
        actions: [
          CupertinoDialogAction(
            child: Text(actionLabel),
            onPressed: action,
          ),
        ],
      ),
    );
  }
}