import 'package:equatable/equatable.dart';
import '../../data/datasources/leaderboard_remote_datasource.dart';

sealed class LeaderboardState extends Equatable {
  const LeaderboardState();
  @override
  List<Object?> get props => [];
}

class LeaderboardLoading extends LeaderboardState {
  const LeaderboardLoading();
}

class LeaderboardLoaded extends LeaderboardState {
  final List<LeaderboardEntryModel> entries;

  const LeaderboardLoaded(this.entries);

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

class LeaderboardError extends LeaderboardState {
  final String message;
  const LeaderboardError(this.message);

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