import 'package:equatable/equatable.dart'; import 'package:proxibuy/domain/entities/category_entity.dart'; class NotificationPreferencesState extends Equatable { final List categories; final Set selectedCategoryIds; final bool isLoading; final String? errorMessage; final bool submissionSuccess; const NotificationPreferencesState({ this.categories = const [], this.selectedCategoryIds = const {}, this.isLoading = false, this.errorMessage, this.submissionSuccess = false, }); NotificationPreferencesState copyWith({ List? categories, Set? selectedCategoryIds, bool? isLoading, String? errorMessage, bool? submissionSuccess, }) { return NotificationPreferencesState( categories: categories ?? this.categories, selectedCategoryIds: selectedCategoryIds ?? this.selectedCategoryIds, isLoading: isLoading ?? this.isLoading, errorMessage: errorMessage, submissionSuccess: submissionSuccess ?? this.submissionSuccess, ); } @override List get props => [ categories, selectedCategoryIds, isLoading, errorMessage, submissionSuccess, ]; }