35 lines
907 B
Dart
35 lines
907 B
Dart
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,
|
|
);
|
|
}
|
|
} |