import 'package:equatable/equatable.dart';
import '../../data/models/user_stats_model.dart';

sealed class DashboardState extends Equatable {
  const DashboardState();

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

class DashboardInitial extends DashboardState {
  const DashboardInitial();
}

class DashboardLoading extends DashboardState {
  const DashboardLoading();
}

class DashboardLoaded extends DashboardState {
  final UserStatsModel stats;

  const DashboardLoaded(this.stats);

  @override
  List<Object?> get props => [stats.totalScore, stats.quizzesTaken];
}

class DashboardError extends DashboardState {
  final String message;

  const DashboardError(this.message);

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