import 'package:farm_tpf/authentication/bloc/authentication_bloc.dart'; import 'package:farm_tpf/data/repository/user_repository.dart'; import 'package:farm_tpf/presentation/custom_widgets/app_bar_widget.dart'; import 'package:farm_tpf/presentation/custom_widgets/button_icon_widget.dart'; import 'package:farm_tpf/presentation/screens/profile/sc_change_password.dart'; import 'package:farm_tpf/presentation/screens/profile/sc_update_profile.dart'; import 'package:farm_tpf/utils/const_icons.dart'; import 'package:farm_tpf/utils/pref.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import '../../../utils/local_storage.dart'; class AccountScreen extends StatefulWidget { @override _AccountScreenState createState() => _AccountScreenState(); } class _AccountScreenState extends State { var pref = LocalPref(); UserRepository _userRepository = UserRepository(); // PackageInfo _packageInfo = PackageInfo( // version: '1.0.0', // buildNumber: '1.', // ); // Future _initPackageInfo() async { // final PackageInfo info = await PackageInfo.fromPlatform(); // setState(() { // _packageInfo = info; // }); // } @override void initState() { super.initState(); // _initPackageInfo(); } _clickSignOut() async { BlocProvider.of(context).add(AuthenticationLogoutRequested()); try { String pushKey = await pref.getString(DATA_CONST.PUSH_KEY); if (pushKey.isNotEmpty) { _userRepository.deleteFcmToken(pushKey).then((value) {}).catchError((err) {}).whenComplete(() { pref.saveString(DATA_CONST.TOKEN_KEY, ""); pref.saveString(DATA_CONST.PUSH_KEY, ""); }); } pref.saveString(DATA_CONST.CURRENT_FULL_NAME, ""); LocalStorage.save(LocalStorageKey.full_name, ''); } catch (e) { pref.saveString(DATA_CONST.CURRENT_FULL_NAME, ""); LocalStorage.save(LocalStorageKey.full_name, ''); pref.saveString(DATA_CONST.TOKEN_KEY, ""); pref.saveString(DATA_CONST.PUSH_KEY, ""); } } @override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.white, body: SafeArea( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ SizedBox( height: 8, ), Container( padding: EdgeInsets.all(8), color: Colors.white, child: Text( 'Cá nhân', style: TextStyle(fontWeight: FontWeight.w500, fontSize: 22), )), Expanded( child: Column(children: [ ButtonIconWidget( title: 'Tài khoản', leadingIcon: AppIcons.icUser, trailingIcon: AppIcons.icArrowRight, isTopBorder: false, onTap: () { Get.to(UpdateProfileScreen()); }), ButtonIconWidget( title: 'Bảo mật', leadingIcon: AppIcons.icSecurity, trailingIcon: AppIcons.icArrowRight, isTopBorder: false, isBottomBorder: false, onTap: () { Get.to(ChangePasswordScreen()); }, ), Container( width: double.infinity, height: 20, color: Colors.grey[200], ), // Container( // padding: EdgeInsets.only(left: 12, right: 8, top: 14, bottom: 14), // child: Row( // children: [ // Expanded( // child: Text( // 'Phiên bản', // style: TextStyle(fontSize: 16, fontWeight: FontWeight.w100), // )), // Text("${_packageInfo.version}.${_packageInfo.buildNumber}") // ], // ), // ), ButtonIconWidget( title: 'Đăng xuất', titleStyle: TextStyle(fontSize: 16, fontWeight: FontWeight.w100, color: Colors.red), leadingIcon: AppIcons.icLogout, // trailingIcon: AppIcons.icArrowRight, isTopBorder: false, onTap: () { _clickSignOut(); }), ])), ], ), ), ); } }