import 'package:equatable/equatable.dart'; import '../../models/models.dart'; class WishlistState extends Equatable { final List books; final List filteredBooks; final String searchQuery; final String? movedBookId; final bool isLoading; final String? errorMessage; const WishlistState({ this.books = const [], this.filteredBooks = const [], this.searchQuery = '', this.movedBookId, this.isLoading = false, this.errorMessage, }); factory WishlistState.initial() { return const WishlistState( isLoading: true, ); } WishlistState copyWith({ List? books, List? filteredBooks, String? searchQuery, String? movedBookId, bool? isLoading, String? errorMessage, }) { return WishlistState( books: books ?? this.books, filteredBooks: filteredBooks ?? this.filteredBooks, searchQuery: searchQuery ?? this.searchQuery, movedBookId: movedBookId, isLoading: isLoading ?? this.isLoading, errorMessage: errorMessage ?? this.errorMessage, ); } @override List get props => [ books, filteredBooks, searchQuery, movedBookId, isLoading, errorMessage, ]; }