aman-kassa-flutter/lib/redux/state/user_state.dart

55 lines
1.3 KiB
Dart

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});
}