import 'dart:async'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:yumi/app_localizations.dart'; import 'package:yumi/ui_kit/components/text/sc_text.dart'; import 'package:yumi/shared/data_sources/sources/local/user_manager.dart'; import 'package:yumi/ui_kit/components/appbar/socialchat_appbar.dart'; import 'package:yumi/ui_kit/components/dialog/dialog_base.dart'; import '../../../../../app/constants/sc_global_config.dart'; ///删除账户 class DeleteAccountPage extends StatefulWidget { @override _DeleteAccountPageState createState() => _DeleteAccountPageState(); } class _DeleteAccountPageState extends State { int delay = 30; bool canClick = false; String btnText = ""; Timer? _timer; BuildContext? ct; @override void initState() { super.initState(); _timer = Timer.periodic(Duration(seconds: 1), (timer) { if (delay == 0) { canClick = true; _timer?.cancel(); btnText = SCAppLocalizations.of(ct!)!.deleteAccount; } else { delay--; btnText = SCAppLocalizations.of(ct!)!.deleteAccount2("$delay"); } setState(() {}); }); } @override void dispose() { _timer?.cancel(); super.dispose(); } @override Widget build(BuildContext context) { ct = context; return Stack( children: [ Image.asset( SCGlobalConfig.businessLogicStrategy.getRechargePageBackgroundImage(), width: ScreenUtil().screenWidth, fit: BoxFit.fill, ), Scaffold( backgroundColor: Colors.transparent, resizeToAvoidBottomInset: false, appBar: SocialChatStandardAppBar( title: SCAppLocalizations.of(context)!.deleteAccount, actions: [], ), body: SafeArea( top: false, child: SingleChildScrollView( child: Column( mainAxisSize: MainAxisSize.min, children: [ Row( children: [ SizedBox(width: 10.w), text( SCAppLocalizations.of(context)!.accountDeletionNotice, fontSize: 14.sp, textColor: Colors.white38, ), ], ), SizedBox(height: 10.w), Row( children: [ SizedBox(width: 10.w), Expanded( child: text( SCAppLocalizations.of(context)!.deleteAccountTips, fontSize: 12.sp, maxLines: 30, textColor: Colors.white, ), ), SizedBox(width: 10.w), ], ), SizedBox(height: 10.w), Row( children: [ SizedBox(width: 10.w), Expanded( child: text( SCAppLocalizations.of(context)!.deleteAccountTips2, fontSize: 12.sp, maxLines: 30, textColor: Colors.white38, ), ), SizedBox(width: 10.w), ], ), SizedBox(height: 35.w), GestureDetector( child: Container( alignment: Alignment.center, decoration: BoxDecoration( borderRadius: BorderRadius.circular(25), color: !canClick ? Colors.black26 : Colors.red, ), width: 275.w, height: 46.w, child: text( btnText.isEmpty ? SCAppLocalizations.of( context, )!.deleteAccount2("30") : btnText, fontSize: 15.sp, textColor: Colors.white, ), ), onTap: () { if (canClick) { SmartDialog.show( tag: "showConfirmDialog", alignment: Alignment.center, debounce: true, animationType: SmartAnimationType.fade, builder: (_) { return MsgDialog( title: SCAppLocalizations.of(context)!.tips, msg: SCAppLocalizations.of( context, )!.areYouSureYouWantToDeleteYourAccount, btnText: SCAppLocalizations.of(context)!.delete, onEnsure: () { AccountStorage().logout(context); }, ); }, ); } }, ), ], ), ), ), ), ], ); } }