import 'package:aman_kassa_flutter/core/models/user.dart'; import 'package:meta/meta.dart'; @immutable class UserState { final bool isError; final bool isLoading; final bool isAuthenticated; final LoginFormMessage loginFormMessage; final User user; UserState({ this.isError, this.isLoading, this.isAuthenticated, this.user, this.loginFormMessage }); factory UserState.initial() => UserState( isLoading: false, isError: false, isAuthenticated: false, loginFormMessage: LoginFormMessage(), ); UserState copyWith({ @required bool isError, @required bool isLoading, @required User user, @required bool isAuthenticated, @required LoginFormMessage loginFormMessage, }) { return UserState( isError: isError ?? this.isError, isLoading: isLoading ?? this.isLoading, isAuthenticated: isAuthenticated ?? this.isAuthenticated, user: user ?? this.user, loginFormMessage: loginFormMessage ?? this.loginFormMessage, ); } } class LoginFormMessage { final String email; final String password; final String message; LoginFormMessage({this.email, this.password, this.message}); }