Merge pull request #726 from ente-io/expired-subscription-renewal

This commit is contained in:
Vishnu Mohandas 2022-09-25 18:44:55 +05:30 committed by GitHub
commit 74443e97dd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 19 deletions

View file

@ -1,5 +1,5 @@
import { GalleryContext } from 'pages/gallery'; import { GalleryContext } from 'pages/gallery';
import React, { useContext, useMemo } from 'react'; import React, { MouseEventHandler, useContext, useMemo } from 'react';
import { import {
hasPaidSubscription, hasPaidSubscription,
isFamilyAdmin, isFamilyAdmin,
@ -43,19 +43,23 @@ export default function SubscriptionStatus({
}, [userDetails]); }, [userDetails]);
const handleClick = useMemo(() => { const handleClick = useMemo(() => {
if (userDetails) { const eventHandler: MouseEventHandler<HTMLSpanElement> = (e) => {
if (isSubscriptionActive(userDetails.subscription)) { e.stopPropagation();
if (hasExceededStorageQuota(userDetails)) { if (userDetails) {
return showPlanSelectorModal; if (isSubscriptionActive(userDetails.subscription)) {
} if (hasExceededStorageQuota(userDetails)) {
} else { showPlanSelectorModal();
if (hasStripeSubscription(userDetails.subscription)) { }
return billingService.redirectToCustomerPortal;
} else { } else {
return showPlanSelectorModal; if (hasStripeSubscription(userDetails.subscription)) {
billingService.redirectToCustomerPortal();
} else {
showPlanSelectorModal();
}
} }
} }
} };
return eventHandler;
}, [userDetails]); }, [userDetails]);
if (!hasAMessage) { if (!hasAMessage) {
@ -80,13 +84,9 @@ export default function SubscriptionStatus({
) )
: hasExceededStorageQuota(userDetails) && : hasExceededStorageQuota(userDetails) &&
constants.STORAGE_QUOTA_EXCEEDED_SUBSCRIPTION_INFO( constants.STORAGE_QUOTA_EXCEEDED_SUBSCRIPTION_INFO(
showPlanSelectorModal handleClick
) )
: constants.SUBSCRIPTION_EXPIRED_MESSAGE( : constants.SUBSCRIPTION_EXPIRED_MESSAGE(handleClick)}
hasStripeSubscription(userDetails.subscription)
? billingService.redirectToCustomerPortal
: showPlanSelectorModal
)}
</Typography> </Typography>
</Box> </Box>
); );

View file

@ -454,7 +454,8 @@ export default function Uploader(props: Props) {
message: constants.SUBSCRIPTION_EXPIRED, message: constants.SUBSCRIPTION_EXPIRED,
action: { action: {
text: constants.RENEW_NOW, text: constants.RENEW_NOW,
callback: billingService.redirectToCustomerPortal, callback: () =>
billingService.redirectToCustomerPortal(),
}, },
}; };
break; break;

View file

@ -153,7 +153,6 @@ export function isUserSubscribedPlan(plan: Plan, subscription: Subscription) {
} }
export function hasStripeSubscription(subscription: Subscription) { export function hasStripeSubscription(subscription: Subscription) {
return ( return (
hasPaidSubscription(subscription) &&
subscription.paymentProvider.length > 0 && subscription.paymentProvider.length > 0 &&
subscription.paymentProvider === PAYMENT_PROVIDER_STRIPE subscription.paymentProvider === PAYMENT_PROVIDER_STRIPE
); );