12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import 'package:flutter/material.dart';
- import '../models/profile_model.dart';
- import '../services/profile_service.dart';
- class ProfileViewModel extends ChangeNotifier {
- Profile _profile = Profile();
- bool _isLoading = true;
- // Añadir estado de visibilidad para cada campo de contraseña
- bool _obscureTextPassActual = true;
- bool _obscureTextPassNuevo = true;
- bool _obscureTextPassNuevoConfirmar = true;
- Profile get profile => _profile;
- bool get isLoading => _isLoading;
- bool get obscureTextPassActual => _obscureTextPassActual;
- bool get obscureTextPassNuevo => _obscureTextPassNuevo;
- bool get obscureTextPassNuevoConfirmar => _obscureTextPassNuevoConfirmar;
- // Consulta el perfil
- Future<void> fetchProfile() async {
- _profile = await ProfileService().fetchList();
- notifyListeners();
- }
- void setLoading(bool loading) {
- _isLoading = loading;
- notifyListeners();
- }
- // Métodos para cambiar la visibilidad de las contraseñas
- void toggleObscureTextPassActual() {
- _obscureTextPassActual = !_obscureTextPassActual;
- notifyListeners();
- }
- void toggleObscureTextPassNuevo() {
- _obscureTextPassNuevo = !_obscureTextPassNuevo;
- notifyListeners();
- }
- void toggleObscureTextPassNuevoConfirmar() {
- _obscureTextPassNuevoConfirmar = !_obscureTextPassNuevoConfirmar;
- notifyListeners();
- }
- // Método para cambiar la contraseña
- Future<bool> cambiarContrasena(String claveActual, String nuevaClave) async {
- try {
- // Asume que ProfileService ya tiene un método cambiarContrasena implementado
- bool resultado =
- await ProfileService().cambiarContrasena(claveActual, nuevaClave);
- return resultado;
- } catch (e) {
- // Manejo básico de errores, considera mejorar este aspecto
- print("Error al cambiar la contraseña: $e");
- return false;
- }
- }
- }
|