Parcourir la source

Boton para mostrar contraseña

OscarGil03 il y a 6 mois
Parent
commit
777cedeceb
2 fichiers modifiés avec 11 ajouts et 1 suppressions
  1. 1 0
      lib/viewmodels/login_view_model.dart
  2. 10 1
      lib/views/login/login_screen.dart

+ 1 - 0
lib/viewmodels/login_view_model.dart

@@ -18,6 +18,7 @@ class LoginViewModel extends ChangeNotifier {
   bool _isLoading = true;
 
   bool get isLoading => _isLoading;
+  bool get obscureText => _obscureText;
 
   // Getters
   Usuario? get usuario => _usuario;

+ 10 - 1
lib/views/login/login_screen.dart

@@ -79,6 +79,7 @@ class _LoginScreenState extends State<LoginScreen> {
     final size = MediaQuery.sizeOf(context);
     final sucursalViewModel = Provider.of<SucursalViewModel>(context);
     final sucursales = sucursalViewModel.sucursales;
+    final obscureText = loginViewModel.obscureText;
     final errores = loginViewModel.errores;
 
     return Scaffold(
@@ -143,11 +144,19 @@ class _LoginScreenState extends State<LoginScreen> {
                         const SizedBox(height: 5),
                         AppTextField(
                           prefixIcon: const Icon(Icons.lock),
+                          obscureText: obscureText,
                           etiqueta: 'Contraseña',
                           hintText: 'Introduzca su contraseña',
                           errorText: errores?['contrasena'],
                           controller: _contrasena,
-                          obscureText: true,
+                          suffixIcon: IconButton(
+                            onPressed: () {
+                              loginViewModel.showPassword();
+                            },
+                            icon: obscureText
+                                ? const Icon(Icons.remove_red_eye_outlined)
+                                : const Icon(Icons.remove_red_eye),
+                          ),
                         ),
                       ],
                     ),