From 73dfc4e76f29958872df21c380f4563224cff24b Mon Sep 17 00:00:00 2001 From: RemRem Date: Fri, 24 Nov 2023 10:30:16 +0100 Subject: [PATCH] :sparkles: add change email on mobile --- .../profile/mobile/mobile_change_email.dart | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/lib/view/profile/mobile/mobile_change_email.dart b/lib/view/profile/mobile/mobile_change_email.dart index 99f8fef..b887896 100644 --- a/lib/view/profile/mobile/mobile_change_email.dart +++ b/lib/view/profile/mobile/mobile_change_email.dart @@ -1,9 +1,11 @@ import 'package:flutter/material.dart'; +import 'package:smartfit_app_mobile/modele/api/api_wrapper.dart'; import 'package:smartfit_app_mobile/modele/user.dart'; import 'package:provider/provider.dart'; import 'package:smartfit_app_mobile/common/colo_extension.dart'; import 'package:smartfit_app_mobile/common_widget/button/round_button.dart'; import 'package:smartfit_app_mobile/common_widget/text_field/round_text_field.dart'; +import 'package:smartfit_app_mobile/modele/utile/info_message.dart'; class MobileChangeEmailView extends StatefulWidget { const MobileChangeEmailView({super.key}); @@ -14,7 +16,8 @@ class MobileChangeEmailView extends StatefulWidget { class _MobileChangeEmailViewState extends State { final TextEditingController controllerTextEmail = TextEditingController(); - final TextEditingController controllerTextPassword = TextEditingController(); + final InfoMessage infoManager = InfoMessage(); + final ApiWrapper api = ApiWrapper(); @override Widget build(BuildContext context) { @@ -73,7 +76,7 @@ class _MobileChangeEmailViewState extends State { ), ), Text( - userEmail, // Utilisez votre ancien pseudo ici + userEmail, style: TextStyle( color: TColor.black, fontSize: 16, @@ -96,7 +99,28 @@ class _MobileChangeEmailViewState extends State { controller: controllerTextEmail, ), SizedBox(height: media.width * 0.07), - RoundButton(title: "Confirmer", onPressed: () {}), + Visibility( + visible: infoManager.isVisible, + child: Text(infoManager.message, + style: + TextStyle(color: infoManager.messageColor))), + SizedBox( + height: media.width * 0.01, + ), + RoundButton( + title: "Confirmer", + onPressed: () async { + bool res = await api.modifyUserInfo( + 'email', + controllerTextEmail.text, + Provider.of(context, listen: false).token, + infoManager); + if (res) { + Provider.of(context, listen: false).email = + controllerTextEmail.text; + } + setState(() {}); + }), ], ), ),