| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- import 'package:clean/utils/expand.dart';
- import 'package:flutter/Material.dart';
- import 'package:flutter_screenutil/flutter_screenutil.dart';
- import '../resource/assets.gen.dart';
- class PrivacyLockDialog extends StatelessWidget {
- final bool isPrivacyOn;
- final VoidCallback? onResetPassword;
- final VoidCallback? onSetPublic;
- const PrivacyLockDialog({
- super.key,
- required this.isPrivacyOn,
- this.onResetPassword,
- this.onSetPublic,
- });
- @override
- Widget build(BuildContext context) {
- return Dialog(
- backgroundColor: "#23232A".color,
- shape: RoundedRectangleBorder(
- borderRadius: BorderRadius.circular(26.r),
- ),
- child: Container(
- width: 285.w,
- padding: EdgeInsets.all(20),
- child: Column(
- mainAxisSize: MainAxisSize.min,
- children: [
- // 锁图标
- isPrivacyOn
- ? Assets.images.iconPrivacyLock.image(width: 76.w, height: 76.w)
- : Assets.images.iconPrivacyUnlock
- .image(width: 76.w, height: 76.w),
- SizedBox(height: 16),
- // 标题文本
- Text(
- 'Privacy Mode ${isPrivacyOn ? "On" : "Off"}',
- style: TextStyle(
- color: Colors.white,
- fontSize: 20.sp,
- fontWeight: FontWeight.w700,
- ),
- ),
- SizedBox(height: 24),
- // 重置密码按钮
- GestureDetector(
- onTap: () {
- onResetPassword!();
- },
- child: Container(
- width: 180.w,
- height: 48.h,
- decoration: BoxDecoration(
- color: "#0279FB".color,
- borderRadius: BorderRadius.circular(10.r),
- ),
- child: Center(
- child: Text(
- isPrivacyOn ? 'Reset Password' : 'Set Password',
- style: TextStyle(
- fontSize: 16.sp,
- fontWeight: FontWeight.w500,
- color: Colors.white,
- ),
- ),
- ),
- ),
- ),
- SizedBox(height: 15.h),
- // 设为公开按钮
- Visibility(
- visible: isPrivacyOn,
- child: TextButton(
- onPressed: onSetPublic,
- child: Text(
- 'Set as Public',
- style: TextStyle(
- color: Colors.white.withOpacity(0.7),
- fontSize: 16,
- fontWeight: FontWeight.w500,
- ),
- ),
- ),
- ),
- ],
- ),
- ),
- );
- }
- }
|