31 lines
628 B
Dart
31 lines
628 B
Dart
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,
|
|
);
|
|
}
|
|
}
|