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; final bool isAlreadyPurchased; // ✅ Куплена ли эта подписка сейчас final bool isSuccess; // ✅ Сигнал для навигатора назад DetailsContentState({ required this.subscription, required this.selectedPeriod, this.isAgreed = false, this.isAlreadyPurchased = false, this.isSuccess = false, }); DetailsContentState copyWith({ SubscriptionPeriod? selectedPeriod, bool? isAgreed, bool? isAlreadyPurchased, bool? isSuccess, }) { return DetailsContentState( subscription: this.subscription, selectedPeriod: selectedPeriod ?? this.selectedPeriod, isAgreed: isAgreed ?? this.isAgreed, isAlreadyPurchased: isAlreadyPurchased ?? this.isAlreadyPurchased, isSuccess: isSuccess ?? this.isSuccess, ); } }