part of 'notifications_bloc.dart';

abstract class NotificationsState extends Equatable {
  const NotificationsState();

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

class NotificationsInitial extends NotificationsState {
  const NotificationsInitial();
}

class NotificationsLoading extends NotificationsState {
  const NotificationsLoading();
}

class NotificationsLoaded extends NotificationsState {
  final List<NotificationModel> notifications;
  final int nonLuesCount;

  const NotificationsLoaded({
    required this.notifications,
    required this.nonLuesCount,
  });

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

class NotificationMarkedAsRead extends NotificationsState {
  final List<NotificationModel> notifications;
  final int nonLuesCount;

  const NotificationMarkedAsRead({
    required this.notifications,
    required this.nonLuesCount,
  });

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

class NotificationsError extends NotificationsState {
  final String message;
  const NotificationsError(this.message);

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