part of 'product_loader_bloc.dart';

@freezed
class ProductLoaderState with _$ProductLoaderState {
  const factory ProductLoaderState.initial() = _Initial;
  const factory ProductLoaderState.loading() = _Loading;
  const factory ProductLoaderState.loaded({
    required List<Product> products,
    required bool hasReachedMax,
    required int currentPage,
    required bool isLoadingMore,
    String? categoryId,
    String? searchQuery,
  }) = _Loaded;
  const factory ProductLoaderState.error(String message) = _Error;
}
