import 'package:flutter/material.dart'; import '../core/utils/result.dart'; import '../data/models/user_model.dart'; import '../data/repositories/auth_repository.dart'; class AuthViewModel with ChangeNotifier { final AuthRepository _authRepository; AuthViewModel({required AuthRepository authRepository}) : _authRepository = authRepository; bool _isLoading = false; String? _errorMessage; UserModel? _loggedInUser; bool get isLoading => _isLoading; String? get errorMessage => _errorMessage; UserModel? get loggedInUser => _loggedInUser; Future login(String email, String password) async { _isLoading = true; _errorMessage = null; notifyListeners(); final result = await _authRepository.login(email, password); switch (result) { case Ok(): _loggedInUser = result.value; // موفقیت‌آمیز break; case Error(): _errorMessage = result.error.toString(); // خطا break; } _isLoading = false; notifyListeners(); } }