import 'package:mc_common_app/classes/app_state.dart'; import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/config/routes.dart'; import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/generated/locale_keys.g.dart'; import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/view_models/user_view_model.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:provider/provider.dart'; import '../../theme/colors.dart'; class EditAccountPage extends StatefulWidget { const EditAccountPage({Key? key}) : super(key: key); @override State createState() => _EditAccountPageState(); } class _EditAccountPageState extends State { String userID = ""; String email = ''; @override Widget build(BuildContext context) { UserVM userVM = context.read(); return Scaffold( appBar: CustomAppBar(isRemoveBackButton: true, title: LocaleKeys.editAccount.tr()), body: Container( width: double.infinity, height: double.infinity, padding: const EdgeInsets.all(21), child: Column( children: [ Column( children: [ showItem( icon: MyAssets.icEmail, title: LocaleKeys.changeEmail.tr(), onTap: () { navigateWithName(context, AppRoutes.changeEmailPage); }, ), const Divider( height: 1, ), showItem( icon: MyAssets.icPassword, title: LocaleKeys.changePassword.tr(), onTap: () { navigateWithName(context, AppRoutes.changePassword); }, ), const Divider( height: 1, ), showItem( icon: MyAssets.icPhoneNumber, title: LocaleKeys.changeMobile.tr(), onTap: () { navigateWithName(context, AppRoutes.changeMobilePage); }, ), const Divider( height: 1, ), ], ).toWhiteContainer(width: double.infinity, pading: EdgeInsets.symmetric(horizontal: 12)), 21.height, Column( children: [ showItem( icon: MyAssets.icStar, title: "My Subscriptions", subTitle: "Silver", onTap: () { navigateWithName(context, AppRoutes.mySubscriptionsPage); }, ), const Divider( height: 1, ), showItem( icon: MyAssets.icGroupStar, title: "Subscriptions", onTap: () { navigateWithName(context, AppRoutes.subscriptionsPage); }, ), ], ).toWhiteContainer(width: double.infinity, pading: EdgeInsets.symmetric(horizontal: 12)), ], ), ), ); } Widget showItem({required String icon, required String title, required VoidCallback onTap, String? subTitle}) { return InkWell( onTap: onTap, child: Padding( padding: const EdgeInsets.symmetric(vertical: 12), child: Row( crossAxisAlignment: CrossAxisAlignment.center, children: [ SizedBox( width: 16, height: 16, child: SvgPicture.asset( icon, color: subTitle == null ? MyColors.black : MyColors.primaryColor, ), ), 12.width, Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ title.toText(isBold: true, fontSize: 14), if (subTitle != null) subTitle.toText(fontSize: 14, color: MyColors.primaryColor), ], ), ), const Icon( Icons.arrow_forward, size: 16, ), ], ), ), ); } }