import 'package:equatable/equatable.dart'; class SettingsState extends Equatable { final bool isDarkMode; final String language; final bool notificationsEnabled; final bool dataCleared; final bool isLoading; final String? errorMessage; const SettingsState({ this.isDarkMode = false, this.language = 'English', this.notificationsEnabled = true, this.dataCleared = false, this.isLoading = false, this.errorMessage, }); factory SettingsState.initial() { return const SettingsState( isLoading: true, ); } SettingsState copyWith({ bool? isDarkMode, String? language, bool? notificationsEnabled, bool? dataCleared, bool? isLoading, String? errorMessage, }) { return SettingsState( isDarkMode: isDarkMode ?? this.isDarkMode, language: language ?? this.language, notificationsEnabled: notificationsEnabled ?? this.notificationsEnabled, dataCleared: dataCleared ?? this.dataCleared, isLoading: isLoading ?? this.isLoading, errorMessage: errorMessage ?? this.errorMessage, ); } @override List get props => [ isDarkMode, language, notificationsEnabled, dataCleared, isLoading, errorMessage, ]; }