part of 'theme_bloc.dart';

enum ThemeStatus { initial, success }

enum AppTheme {
  dark(name: 'dark'),
  light(name: 'light'),
  system(name: 'system');

  final String name;

  const AppTheme({required this.name});
}

class ThemeState extends Equatable {
  const ThemeState({required this.status, required this.appTheme});

  final ThemeStatus status;
  final AppTheme appTheme;

  @override
  List<Object?> get props => [status, appTheme];

  ThemeState copyWith({ThemeStatus? status, AppTheme? appTheme}) {
    return ThemeState(
      status: status ?? this.status,
      appTheme: appTheme ?? this.appTheme,
    );
  }
}
