import 'package:equatable/equatable.dart'; abstract class MembershipState extends Equatable { const MembershipState(); @override List get props => []; } class MembershipInitial extends MembershipState {} class MembershipLoading extends MembershipState {} class MembershipLoaded extends MembershipState { final Map cardData; final String? dynamicQrToken; final int? qrValidUntil; const MembershipLoaded({ required this.cardData, this.dynamicQrToken, this.qrValidUntil, }); bool get isActive => cardData['status'] == 'ACTIVE'; MembershipLoaded copyWith({ Map? cardData, String? dynamicQrToken, int? qrValidUntil, }) { return MembershipLoaded( cardData: cardData ?? this.cardData, dynamicQrToken: dynamicQrToken ?? this.dynamicQrToken, qrValidUntil: qrValidUntil ?? this.qrValidUntil, ); } @override List get props => [cardData, dynamicQrToken, qrValidUntil]; } class MembershipNotSubscribed extends MembershipState {} class MembershipFailure extends MembershipState { final String message; const MembershipFailure(this.message); @override List get props => [message]; }