update subscription infos
This commit is contained in:
parent
13904548fb
commit
093c9900f6
|
@ -5,6 +5,7 @@ import {
|
||||||
isFamilyAdmin,
|
isFamilyAdmin,
|
||||||
isOnFreePlan,
|
isOnFreePlan,
|
||||||
isPartOfFamily,
|
isPartOfFamily,
|
||||||
|
hasExceededStorageQuota,
|
||||||
isSubscriptionActive,
|
isSubscriptionActive,
|
||||||
isSubscriptionCancelled,
|
isSubscriptionCancelled,
|
||||||
} from 'utils/billing';
|
} from 'utils/billing';
|
||||||
|
@ -55,10 +56,12 @@ export default function SubscriptionStatus({
|
||||||
? constants.FREE_SUBSCRIPTION_INFO(
|
? constants.FREE_SUBSCRIPTION_INFO(
|
||||||
userDetails.subscription?.expiryTime
|
userDetails.subscription?.expiryTime
|
||||||
)
|
)
|
||||||
: isSubscriptionCancelled(userDetails.subscription) &&
|
: isSubscriptionCancelled(userDetails.subscription)
|
||||||
constants.RENEWAL_CANCELLED_SUBSCRIPTION_INFO(
|
? constants.RENEWAL_CANCELLED_SUBSCRIPTION_INFO(
|
||||||
userDetails.subscription?.expiryTime
|
userDetails.subscription?.expiryTime
|
||||||
)
|
)
|
||||||
|
: hasExceededStorageQuota(userDetails) &&
|
||||||
|
constants.STORAGE_QUOTA_EXCEEDED_SUBSCRIPTION_INFO
|
||||||
: constants.SUBSCRIPTION_EXPIRED_MESSAGE(
|
: constants.SUBSCRIPTION_EXPIRED_MESSAGE(
|
||||||
showPlanSelectorModal
|
showPlanSelectorModal
|
||||||
)}
|
)}
|
||||||
|
|
|
@ -8,7 +8,7 @@ import { CustomError } from '../error';
|
||||||
import { logError } from '../sentry';
|
import { logError } from '../sentry';
|
||||||
import { SetDialogBoxAttributes } from 'types/dialogBox';
|
import { SetDialogBoxAttributes } from 'types/dialogBox';
|
||||||
import { getFamilyPortalRedirectURL } from 'services/userService';
|
import { getFamilyPortalRedirectURL } from 'services/userService';
|
||||||
import { FamilyData, FamilyMember, User } from 'types/user';
|
import { FamilyData, FamilyMember, User, UserDetails } from 'types/user';
|
||||||
|
|
||||||
const PAYMENT_PROVIDER_STRIPE = 'stripe';
|
const PAYMENT_PROVIDER_STRIPE = 'stripe';
|
||||||
const PAYMENT_PROVIDER_APPSTORE = 'appstore';
|
const PAYMENT_PROVIDER_APPSTORE = 'appstore';
|
||||||
|
@ -186,6 +186,15 @@ export function hasPaypalSubscription(subscription: Subscription) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function hasExceededStorageQuota(userDetails: UserDetails) {
|
||||||
|
if (isPartOfFamily(userDetails.familyData)) {
|
||||||
|
const usage = getTotalFamilyUsage(userDetails.familyData);
|
||||||
|
return usage > userDetails.familyData.storage;
|
||||||
|
} else {
|
||||||
|
return userDetails.usage > userDetails.subscription.storage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export async function updateSubscription(
|
export async function updateSubscription(
|
||||||
plan: Plan,
|
plan: Plan,
|
||||||
setDialogMessage: SetDialogBoxAttributes,
|
setDialogMessage: SetDialogBoxAttributes,
|
||||||
|
|
|
@ -264,13 +264,14 @@ const englishConstants = {
|
||||||
FAMILY_SUBSCRIPTION_INFO: 'You are on a family plan managed by',
|
FAMILY_SUBSCRIPTION_INFO: 'You are on a family plan managed by',
|
||||||
|
|
||||||
RENEWAL_ACTIVE_SUBSCRIPTION_INFO: (expiryTime) => (
|
RENEWAL_ACTIVE_SUBSCRIPTION_INFO: (expiryTime) => (
|
||||||
<>Your subscription will renew on {dateString(expiryTime)}</>
|
<>Renew on {dateString(expiryTime)}</>
|
||||||
),
|
),
|
||||||
|
|
||||||
RENEWAL_CANCELLED_SUBSCRIPTION_INFO: (expiryTime) => (
|
RENEWAL_CANCELLED_SUBSCRIPTION_INFO: (expiryTime) => (
|
||||||
<>Your subscription will be cancelled on {dateString(expiryTime)}</>
|
<>Your subscription will be cancelled on {dateString(expiryTime)}</>
|
||||||
),
|
),
|
||||||
|
|
||||||
|
STORAGE_QUOTA_EXCEEDED_SUBSCRIPTION_INFO: `You have exceeded your storage quota, please upgrade your plan.`,
|
||||||
SUBSCRIPTION_PURCHASE_SUCCESS: (expiryTime) => (
|
SUBSCRIPTION_PURCHASE_SUCCESS: (expiryTime) => (
|
||||||
<>
|
<>
|
||||||
<p>We've received your payment</p>
|
<p>We've received your payment</p>
|
||||||
|
|
Loading…
Reference in a new issue