import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:prosappco/blocs/my_user_bloc/my_user_bloc.dart'; class ProfileEmailScreen extends StatefulWidget { const ProfileEmailScreen({super.key}); @override State createState() => _ProfileEmailScreenState(); } class _ProfileEmailScreenState extends State { final TextEditingController _emailController = TextEditingController(); final TextEditingController _passwordController = TextEditingController(); @override void dispose() { _emailController.dispose(); _passwordController.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return BlocBuilder( builder: (context, state) { if (state.status == MyUserStatus.success) { _emailController.text = state.user!.email ?? ''; return Scaffold( appBar: AppBar( title: Text( _emailController.text.isEmpty ? 'Agregar correo' : 'Actualizar correo', ), ), body: Center( // Centro del contenido child: SingleChildScrollView( child: Padding( padding: const EdgeInsets.symmetric(horizontal: 40, vertical: 10), child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ TextFormField( controller: _emailController, decoration: const InputDecoration( labelText: 'Email', prefixIcon: Icon(Icons.email_rounded), hintText: 'Email', border: OutlineInputBorder( borderRadius: BorderRadius.all( Radius.circular(10.0), )), errorBorder: OutlineInputBorder( borderSide: BorderSide(color: Colors.red), ), focusedErrorBorder: OutlineInputBorder( borderSide: BorderSide(color: Colors.red, width: 2.0), ), ), validator: (value) { if (value == null || value.isEmpty) { return 'Por favor, ingrese su contraseña'; } return null; }, ), const SizedBox(height: 20), TextFormField( controller: _passwordController, obscureText: true, decoration: const InputDecoration( labelText: 'Contraseña', prefixIcon: Icon(Icons.lock_rounded), hintText: 'Contraseña', border: OutlineInputBorder( borderRadius: BorderRadius.all( Radius.circular(10.0), )), errorBorder: OutlineInputBorder( borderSide: BorderSide(color: Colors.red), ), focusedErrorBorder: OutlineInputBorder( borderSide: BorderSide(color: Colors.red, width: 2.0), ), ), validator: (value) { if (value == null || value.isEmpty) { return 'Por favor, ingrese su contraseña'; } return null; }, ), const SizedBox(height: 30), ElevatedButton( onPressed: () {}, style: ElevatedButton.styleFrom( backgroundColor: Colors.blue, padding: const EdgeInsets.symmetric(vertical: 5), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(20), ), shadowColor: Colors.grey, elevation: 5, ), child: Container( constraints: const BoxConstraints( maxWidth: 300.0, minHeight: 50.0), alignment: Alignment.center, child: const Text( 'Actualizar', style: TextStyle( color: Colors.white, fontSize: 18, fontWeight: FontWeight.bold, ), ), ), ), ], ), ), ), ), ); } else { return const Center(child: CircularProgressIndicator()); } }, ); } }