import 'package:be_happy/domain/entities/subscription.dart'; import '../../domain/entities/subscription_period.dart'; abstract class SubscriptionDetailsState {} class DetailsLoading extends SubscriptionDetailsState {} class DetailsError extends SubscriptionDetailsState { final String message; DetailsError(this.message); } class DetailsContentState extends SubscriptionDetailsState { final Subscription subscription; final SubscriptionPeriod selectedPeriod; final bool isAgreed; DetailsContentState({ required this.subscription, required this.selectedPeriod, this.isAgreed = false, }); DetailsContentState copyWith({ SubscriptionPeriod? selectedPeriod, bool? isAgreed, }) { return DetailsContentState( subscription: this.subscription, selectedPeriod: selectedPeriod ?? this.selectedPeriod, isAgreed: isAgreed ?? this.isAgreed, ); } }