import 'package:aman_kassa_flutter/core/models/smena.dart'; 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; final Smena smena; UserState({ this.isError, this.isLoading, this.isAuthenticated, this.user, this.loginFormMessage, this.smena }); factory UserState.initial() => UserState( isLoading: false, isError: false, isAuthenticated: false, loginFormMessage: LoginFormMessage(), smena: Smena(), ); UserState copyWith({ @required bool isError, @required bool isLoading, @required User user, @required bool isAuthenticated, @required LoginFormMessage loginFormMessage, @required Smena smena, }) { return UserState( isError: isError ?? this.isError, isLoading: isLoading ?? this.isLoading, isAuthenticated: isAuthenticated ?? this.isAuthenticated, user: user ?? this.user, loginFormMessage: loginFormMessage ?? this.loginFormMessage, smena: smena ?? this.smena, ); } } class LoginFormMessage { final String email; final String password; final String message; LoginFormMessage({this.email, this.password, this.message}); }