import 'package:equatable/equatable.dart';
import 'package:smart_hotel_app/models/bo/user_info_bo.dart';

abstract class AuthState extends Equatable {
  const AuthState();

  @override
  List<Object?> get props => [];
}

class AuthInitial extends AuthState {}

class AuthLoading extends AuthState {}

class AuthSuccess extends AuthState {
  final UserInfoBO userInfo;

  const AuthSuccess(this.userInfo);

  @override
  List<Object?> get props => [userInfo];
}

class AuthFailure extends AuthState {
  final String error;

  const AuthFailure(this.error);

  @override
  List<Object?> get props => [error];
}

class AuthTokenExpired extends AuthState {
  const AuthTokenExpired();
}

class AuthLoggedOut extends AuthState {
  const AuthLoggedOut();
}
