diff --git a/lib/models/user_details.dart b/lib/models/user_details.dart index ef1fdbbd7607ff5a41ba5c979ec6cc207800968c..f107a2e6b053050c5fb64573c54973fd597fb432 100644 --- a/lib/models/user_details.dart +++ b/lib/models/user_details.dart @@ -33,6 +33,10 @@ class UserDetails { return familyData?.members?.isNotEmpty ?? false; } + bool hasPaidAddon() { + return bonusData?.getAddOnBonuses().isNotEmpty ?? false; + } + bool isFamilyAdmin() { assert(isPartOfFamily(), "verify user is part of family before calling"); final FamilyMember currentUserMember = familyData!.members! diff --git a/lib/services/billing_service.dart b/lib/services/billing_service.dart index 24ec308fbd507928c31c61534c35c66d1d7b0060..6891089e39a347d0c7441dc1b4db3c257ccc4e38 100644 --- a/lib/services/billing_service.dart +++ b/lib/services/billing_service.dart @@ -166,7 +166,8 @@ class BillingService { BuildContext context, UserDetails userDetails, ) async { - if (userDetails.subscription.productID == freeProductID) { + if (userDetails.subscription.productID == freeProductID && + !userDetails.hasPaidAddon()) { await showErrorDialog( context, S.of(context).familyPlans,