import 'package:equatable/equatable.dart';

abstract class SessionState extends Equatable {
  const SessionState();

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

class SessionInitial extends SessionState {}

class SessionActive extends SessionState {
  final String token;
  final DateTime expiresAt;

  const SessionActive({required this.token, required this.expiresAt});

  @override
  List<Object> get props => [token, expiresAt];
}

class SessionExpiredState extends SessionState {}

class SessionError extends SessionState {
  final String error;

  const SessionError(this.error);

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