import 'package:flutter/material.dart'; /// 确认对话框组件 class CommonDialog { /// 显示确认对话框 static Future showConfirm({ required BuildContext context, required String title, required String content, String confirmText = '确认', String cancelText = '取消', bool isDestructive = false, }) { return showDialog( context: context, builder: (context) => AlertDialog( title: Text(title), content: Text(content), actions: [ TextButton( onPressed: () => Navigator.pop(context, false), child: Text(cancelText), ), ElevatedButton( onPressed: () => Navigator.pop(context, true), style: ElevatedButton.styleFrom( backgroundColor: isDestructive ? Colors.red : null, ), child: Text(confirmText), ), ], ), ); } /// 显示信息对话框 static Future showInfo({ required BuildContext context, required String title, required String content, String confirmText = '确认', }) { return showDialog( context: context, builder: (context) => AlertDialog( title: Text(title), content: Text(content), actions: [ ElevatedButton( onPressed: () => Navigator.pop(context), child: Text(confirmText), ), ], ), ); } /// 显示输入对话框 static Future showInput({ required BuildContext context, required String title, String? hintText, String? initialValue, String confirmText = '确认', String cancelText = '取消', }) { final controller = TextEditingController(text: initialValue); return showDialog( context: context, builder: (context) => AlertDialog( title: Text(title), content: TextField( decoration: InputDecoration( hintText: hintText, border: const OutlineInputBorder(), ), controller: controller, ), actions: [ TextButton( onPressed: () => Navigator.pop(context), child: Text(cancelText), ), ElevatedButton( onPressed: () => Navigator.pop(context, controller.text), child: Text(confirmText), ), ], ), ); } }