import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import 'package:provider/provider.dart'; import 'package:qadirneyriz/screens/home/state.dart'; import 'package:qadirneyriz/setting/setting.dart'; import 'package:qadirneyriz/utils/enums/status.dart'; import 'package:qadirneyriz/utils/tools/tools.dart'; import 'package:qadirneyriz/widgets/custom_appbar.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:qadirneyriz/widgets/custom_button.dart'; class DeleteAccountScreen extends StatefulWidget { const DeleteAccountScreen({super.key}); @override State createState() => _DeleteAccountScreenState(); } class _DeleteAccountScreenState extends State { @override Widget build(BuildContext context) { return Consumer( builder: (context, value, child) { return CustomScrollView( slivers: [ CustomAppbar(), SliverFillRemaining( hasScrollBody: false, child: Padding( padding: const EdgeInsets.all(16.0), child: Column( children: [ const Icon( Icons.warning_amber_rounded, size: 100, color: Colors.red, ), const SizedBox(height: 20), Text( AppLocalizations.of(context)!.suretodelelteaccount, textAlign: TextAlign.center, style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), ), const SizedBox(height: 20), Text( AppLocalizations.of(context)!.actioncantundo, textAlign: TextAlign.center, style: TextStyle(fontSize: 16, color: Colors.grey[600]), ), const SizedBox(height: 40), deleteButton(value), ], ), ), ), ], ); }, ); } CustomButton deleteButton(HomeState state) { switch (state.statusDeleteAccount) { case Status.loading: return CustomButton( onPressed: null, text: AppLocalizations.of(context)!.loading, hieght: 50, ); default: return CustomButton( onPressed: () async { final status = await state.deleteAccount(); if (status == Status.ready) { final logOut = await setting.userLocalDb.logOut(); if (logOut) { context.goNamed('route'); Tools.showCustomSnackBar(context, text: state.messageDeleteAccount ?? 'Done successfully', isError: false); } else { Tools.showCustomSnackBar(context, text: state.messageDeleteAccount ?? AppLocalizations.of(context)!.error, isError: true); } } else { Tools.showCustomSnackBar(context, text: state.messageDeleteAccount ?? AppLocalizations.of(context)!.error, isError: true); } }, text: AppLocalizations.of(context)!.deleteaccount, hieght: 50, ); } } }