Files
urukprize/mobile/lib/features/membership/cubit/membership_state.dart
T

53 lines
1.2 KiB
Dart

import 'package:equatable/equatable.dart';
abstract class MembershipState extends Equatable {
const MembershipState();
@override
List<Object?> get props => [];
}
class MembershipInitial extends MembershipState {}
class MembershipLoading extends MembershipState {}
class MembershipLoaded extends MembershipState {
final Map<String, dynamic> 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<String, dynamic>? cardData,
String? dynamicQrToken,
int? qrValidUntil,
}) {
return MembershipLoaded(
cardData: cardData ?? this.cardData,
dynamicQrToken: dynamicQrToken ?? this.dynamicQrToken,
qrValidUntil: qrValidUntil ?? this.qrValidUntil,
);
}
@override
List<Object?> get props => [cardData, dynamicQrToken, qrValidUntil];
}
class MembershipNotSubscribed extends MembershipState {}
class MembershipFailure extends MembershipState {
final String message;
const MembershipFailure(this.message);
@override
List<Object?> get props => [message];
}