import 'package:e_receipt_mobile/domain/entities/login_user.dart'; import 'package:flutter/foundation.dart'; @immutable class LoginState { const LoginState({ this.isLoading = false, this.errorMessage, this.successMessage, this.user, }); final bool isLoading; final String? errorMessage; final String? successMessage; final LoginUser? user; LoginState copyWith({ bool? isLoading, String? errorMessage, String? successMessage, LoginUser? user, bool clearError = false, bool clearSuccess = false, bool clearUser = false, }) { return LoginState( isLoading: isLoading ?? this.isLoading, errorMessage: clearError ? null : errorMessage ?? this.errorMessage, successMessage: clearSuccess ? null : successMessage ?? this.successMessage, user: clearUser ? null : user ?? this.user, ); } @override String toString() { return 'LoginState(isLoading: $isLoading, errorMessage: $errorMessage, successMessage: $successMessage, user: $user)'; } }