import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:vitalapp/components/alert_dialog.dart'; class ConfirmBox { static Future show({ String? title, required String content, VoidCallback? onConfirm, VoidCallback? onCancel, double? width, bool showCancel = true, }) async { final result = await Get.dialog( VAlertDialog( title: title ?? "提示", width: width ?? 320, content: Container( height: 32, padding: const EdgeInsets.symmetric(horizontal: 24), alignment: Alignment.center, child: Text(content, style: TextStyle(fontSize: 20)), ), onConfirm: () async { onConfirm?.call(); Get.back(result: true); }, onCanceled: () { onCancel?.call(); return false; }, showCancel: showCancel, ), barrierDismissible: false, barrierColor: Colors.black.withOpacity(.4), ); return result; } static Future showMultiLines({ String? title, required List contents, VoidCallback? onConfirm, VoidCallback? onCancel, double? width, bool showCancel = true, }) async { final result = await Get.dialog( VAlertDialog( title: title ?? "提示", width: width ?? 320, content: Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ for (var content in contents) Container( height: 32, padding: const EdgeInsets.symmetric(horizontal: 24), alignment: Alignment.centerLeft, child: Text(content, style: TextStyle(fontSize: 20)), ), ], ), onConfirm: () async { onConfirm?.call(); Get.back(result: true); }, onCanceled: () { onCancel?.call(); return false; }, showCancel: showCancel, ), barrierDismissible: false, barrierColor: Colors.black.withOpacity(.4), ); return result; } }