import 'package:equatable/equatable.dart';
import 'package:meta/meta.dart';

@immutable
abstract class DetailProductState extends Equatable {
  DetailProductState([List props = const []]) : super();

  @override
  // TODO: implement props
  List<Object> get props => [];
}

class InitialDetailProductState extends DetailProductState {
  @override
  String toString() {
    return 'InitialDetailsServiceStateState{}';
  }
}

class DetailProductFailure extends DetailProductState {
  final String error;

  DetailProductFailure(this.error);

  @override
  String toString() {
    return 'DetailsServiceFailure{error: $error}';
  }
}

class DetailProductStateLoading extends DetailProductState {
  @override
  String toString() {
    return 'DetailsServiceStateLoading{}';
  }
}

class GetListDetailProductSuccess extends DetailProductState {
  @override
  String toString() {
    return 'GetListTaskSuccess{}';
  }
}

class AddProductToCartSuccess extends DetailProductState {
  @override
  String toString() {
    return 'AddProductToCartSuccess{}';
  }
}
