app-starlock/lib/tools/emailNotifyTypeSelectAlert.dart

141 lines
5.5 KiB
Dart
Raw Normal View History

import 'package:flutter/cupertino.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/app_settings/app_colors.dart';
class EmailNotifyTypeSelectAlert extends StatelessWidget {
const EmailNotifyTypeSelectAlert({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
// 不需要实现,因为这个组件只是为了显示静态方法的对话框
throw UnimplementedError();
}
static void showEmailNotifyTypeSelectAlert(
{required bool isEmail, required Function(int) onSelected}) {
bool isSystemEmailSelected = true; // 默认选中系统邮件
showCupertinoDialog(
context: Get.context!,
builder: (BuildContext context) {
return StatefulBuilder(
builder: (BuildContext context, StateSetter setState) {
return CupertinoAlertDialog(
2024-08-19 15:24:14 +08:00
title: Text('类型选择'.tr),
content: Column(
children: <Widget>[
Padding(
padding: EdgeInsets.only(
left: 10.w, top: 8.h, bottom: 16.h, right: 10.w),
child: Align(
alignment: Alignment.centerLeft,
child:
2024-08-19 15:24:14 +08:00
Text('请选择要使用哪种类型'.tr, style: TextStyle(fontSize: 20.sp)),
),
),
GestureDetector(
onTap: () {
setState(() {
isSystemEmailSelected = true;
});
},
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Image.asset(
isSystemEmailSelected
? 'images/icon_round_select.png'
: 'images/icon_round_unSelect.png',
width: 30.w,
height: 30.w,
),
Padding(
padding: EdgeInsets.only(left: 10.w),
child: Text(
2024-08-19 15:24:14 +08:00
isEmail ? '系统邮件(推荐)'.tr : '系统短信(推荐)'.tr,
style: TextStyle(
fontSize: 22.sp, fontWeight: FontWeight.bold),
),
),
],
),
),
Padding(
padding: EdgeInsets.only(top: 6.h, left: 10.w, bottom: 10.h),
child: Align(
alignment: Alignment.centerLeft,
child: Text(
isEmail
2024-08-19 15:24:14 +08:00
? '邮件将从软件平台直接发给用户,请根据需要在软件里购买邮件数量。'.tr
: '短信将从软件平台直接发给用户,请根据需要在软件里购买短信数量。'.tr,
style: TextStyle(fontSize: 18.sp),
textAlign: TextAlign.left,
),
),
),
GestureDetector(
onTap: () {
setState(() {
isSystemEmailSelected = false;
});
},
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Image.asset(
!isSystemEmailSelected
? 'images/icon_round_select.png'
: 'images/icon_round_unSelect.png',
width: 30.w,
height: 30.w,
),
Padding(
padding: EdgeInsets.only(left: 10.w),
child: Text(
2024-08-19 15:24:14 +08:00
isEmail ? '个人邮件'.tr : '个人短信'.tr,
style: TextStyle(
fontSize: 22.sp, fontWeight: FontWeight.bold),
),
),
],
),
),
Padding(
padding: EdgeInsets.only(top: 6.h, left: 10.w),
child: Align(
alignment: Alignment.centerLeft,
child: Text(
isEmail
2024-08-19 15:24:14 +08:00
? '邮件将从你的个人邮箱发给用户'.tr
: '短信将从你的个人手机号发给用户,费用由运营商从你的手机号扣除'.tr,
style: TextStyle(fontSize: 18.sp),
textAlign: TextAlign.left,
),
),
),
],
),
actions: <Widget>[
CupertinoDialogAction(
onPressed: () {
final int selectedType =
isSystemEmailSelected ? 1 : 2; // 1 代表系统邮件2 代表个人邮件
onSelected(selectedType);
Get.back();
},
child: Text(
'确定'.tr,
style: TextStyle(color: AppColors.mainColor),
),
),
],
);
});
},
);
}
}