part of 'auth_bloc.dart'; @freezed class AuthState with _$AuthState { const AuthState._(); const factory AuthState({ required User user, required Outlet outlet, @Default(AuthStatus.initial()) AuthStatus status, required Option failureOption, required Option failureOutletOption, @Default(false) bool isFetching, @Default(false) bool isFetchingOutlet, }) = _AuthState; factory AuthState.initial() => AuthState( user: User.empty(), failureOption: none(), outlet: Outlet.empty(), failureOutletOption: none(), ); bool get isAuthenticated => status == const AuthStatus.authenticated(); bool get isInitial => status == const AuthStatus.initial(); } @freezed sealed class AuthStatus with _$AuthStatus { const factory AuthStatus.authenticated() = _Authenticated; const factory AuthStatus.unauthenticated() = _Unauthenticated; const factory AuthStatus.initial() = _Initial; }