Hide free sub validity if bf deal is active
This commit is contained in:
parent
fc43d1d22d
commit
41cf688552
|
@ -240,7 +240,12 @@ class _StoreSubscriptionPageState extends State<StoreSubscriptionPage> {
|
|||
}
|
||||
|
||||
if (_hasActiveSubscription) {
|
||||
widgets.add(ValidityWidget(currentSubscription: _currentSubscription));
|
||||
widgets.add(
|
||||
ValidityWidget(
|
||||
currentSubscription: _currentSubscription,
|
||||
bonusData: _userDetails.bonusData,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
if (_currentSubscription!.productID == freeProductID) {
|
||||
|
|
|
@ -211,7 +211,10 @@ class _StripeSubscriptionPageState extends State<StripeSubscriptionPage> {
|
|||
widgets.add(_showSubscriptionToggle());
|
||||
|
||||
if (_hasActiveSubscription) {
|
||||
widgets.add(ValidityWidget(currentSubscription: _currentSubscription));
|
||||
widgets.add(ValidityWidget(
|
||||
currentSubscription: _currentSubscription,
|
||||
bonusData: _userDetails.bonusData,
|
||||
));
|
||||
}
|
||||
|
||||
if (_currentSubscription!.productID == freeProductID) {
|
||||
|
|
|
@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
|||
import "package:intl/intl.dart";
|
||||
import 'package:photos/ente_theme_data.dart';
|
||||
import "package:photos/generated/l10n.dart";
|
||||
import "package:photos/models/api/storage_bonus/bonus.dart";
|
||||
import 'package:photos/models/subscription.dart';
|
||||
import "package:photos/services/update_service.dart";
|
||||
import "package:photos/theme/ente_theme.dart";
|
||||
|
@ -87,21 +88,27 @@ class _SubscriptionHeaderWidgetState extends State<SubscriptionHeaderWidget> {
|
|||
|
||||
class ValidityWidget extends StatelessWidget {
|
||||
final Subscription? currentSubscription;
|
||||
final BonusData? bonusData;
|
||||
|
||||
const ValidityWidget({Key? key, this.currentSubscription}) : super(key: key);
|
||||
const ValidityWidget({Key? key, this.currentSubscription, this.bonusData})
|
||||
: super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
if (currentSubscription == null) {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
final bool isFreeTrialSub = currentSubscription!.productID == freeProductID;
|
||||
if (isFreeTrialSub && (bonusData?.getAddOnBonuses().isNotEmpty ?? false)) {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
final endDate =
|
||||
DateFormat.yMMMd(Localizations.localeOf(context).languageCode).format(
|
||||
DateTime.fromMicrosecondsSinceEpoch(currentSubscription!.expiryTime),
|
||||
);
|
||||
|
||||
var message = S.of(context).renewsOn(endDate);
|
||||
if (currentSubscription!.productID == freeProductID) {
|
||||
if (isFreeTrialSub) {
|
||||
message = UpdateService.instance.isPlayStoreFlavor()
|
||||
? S.of(context).playStoreFreeTrialValidTill(endDate)
|
||||
: S.of(context).freeTrialValidTill(endDate);
|
||||
|
|
Loading…
Reference in a new issue