import 'package:em2rp/providers/local_user_provider.dart'; import 'package:em2rp/views/widgets/nav/main_drawer.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'package:em2rp/views/widgets/inputs/styled_text_field.dart'; import 'package:em2rp/views/widgets/image/profile_picture_selector.dart'; import 'package:em2rp/widgets/custom_app_bar.dart'; class MyAccountPage extends StatelessWidget { const MyAccountPage({super.key}); @override Widget build(BuildContext context) { return Scaffold( appBar: const CustomAppBar( title: 'Mon compte', ), drawer: const MainDrawer(currentPage: '/my_account'), body: Consumer( builder: (context, userProvider, child) { final user = userProvider.currentUser; if (user == null) { return const Center(child: CircularProgressIndicator()); } final firstNameController = TextEditingController(text: user.firstName); final lastNameController = TextEditingController(text: user.lastName); final phoneController = TextEditingController(text: user.phoneNumber); return SingleChildScrollView( child: Padding( padding: const EdgeInsets.all(24.0), child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ const ProfilePictureSelector(), Center( child: Card( elevation: 4.0, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(12.0), ), child: Padding( padding: const EdgeInsets.all(24.0), child: ConstrainedBox( constraints: const BoxConstraints(maxWidth: 500), child: Column( children: [ StyledTextField( labelText: 'Prénom', controller: firstNameController, ), const SizedBox(height: 16), StyledTextField( labelText: 'Nom', controller: lastNameController, ), const SizedBox(height: 16), StyledTextField( labelText: 'Numéro de téléphone', controller: phoneController, ), const SizedBox(height: 16), StyledTextField( labelText: 'Email', controller: TextEditingController(text: user.email), enabled: false, ), const SizedBox(height: 20), ElevatedButton( onPressed: () { userProvider.updateUserData( firstName: firstNameController.text, lastName: lastNameController.text, phoneNumber: phoneController.text, ); }, child: const Text('Enregistrer'), ), ], ), ), ), ), ), ], ), ), ); }, ), ); } }