e_receipt_mobile/lib/presentation/login/login_state.dart
2026-02-14 16:46:13 +06:30

36 lines
883 B
Dart

import 'package:e_receipt_mobile/domain/entities/login_user.dart';
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;
static const Object _unset = Object();
LoginState copyWith({
bool? isLoading,
String? errorMessage,
String? successMessage,
Object? user = _unset,
bool clearError = false,
bool clearSuccess = false,
}) {
return LoginState(
isLoading: isLoading ?? this.isLoading,
errorMessage: clearError ? null : errorMessage ?? this.errorMessage,
successMessage: clearSuccess
? null
: successMessage ?? this.successMessage,
user: identical(user, _unset) ? this.user : user as LoginUser?,
);
}
}