Add new flag to subscription dash context for PremiumFeaturesLink

GitOrigin-RevId: 55c3d00e0e0fdeb5a63cefac3f1c1428ce01cc9a
This commit is contained in:
Thomas Mees
2023-08-10 11:44:01 +02:00
committed by Copybot
parent 1cde138160
commit 2ca51e82cd
3 changed files with 17 additions and 1 deletions

View File

@@ -1,8 +1,15 @@
import { Trans } from 'react-i18next'
import getMeta from '../../../../utils/meta'
import * as eventTracking from '../../../../infrastructure/event-tracking'
import { useSubscriptionDashboardContext } from '../../context/subscription-dashboard-context'
function PremiumFeaturesLink() {
const { hasValidActiveSubscription } = useSubscriptionDashboardContext()
if (!hasValidActiveSubscription) {
return null
}
const featuresPageVariant =
getMeta('ol-splitTestVariants')?.['features-page'] || 'default'

View File

@@ -38,7 +38,7 @@ function SubscriptionDashboard() {
<ManagedPublishers />
<GroupSubscriptionMemberships />
<InstitutionMemberships />
{hasDisplayedSubscription && <PremiumFeaturesLink />}
<PremiumFeaturesLink />
{!hasDisplayedSubscription &&
(hasSubscription ? <ContactSupport /> : <FreePlan />)}
</div>

View File

@@ -40,6 +40,7 @@ type SubscriptionDashboardContextValue = {
planCode?: string
) => void
hasDisplayedSubscription: boolean
hasValidActiveSubscription: boolean
institutionMemberships?: Institution[]
managedGroupSubscriptions: ManagedGroupSubscription[]
memberGroupSubscriptions: MemberGroupSubscription[]
@@ -132,6 +133,12 @@ export function SubscriptionDashboardProvider({
managedPublishers?.length > 0
)
const hasValidActiveSubscription = Boolean(
['active', 'canceled'].includes(personalSubscription?.recurly?.state) ||
institutionMemberships?.length > 0 ||
memberGroupSubscriptions?.length > 0
)
useEffect(() => {
if (!isRecurlyLoaded()) {
setRecurlyLoadError(true)
@@ -243,6 +250,7 @@ export function SubscriptionDashboardProvider({
handleCloseModal,
handleOpenModal,
hasDisplayedSubscription,
hasValidActiveSubscription,
institutionMemberships,
managedGroupSubscriptions,
memberGroupSubscriptions,
@@ -277,6 +285,7 @@ export function SubscriptionDashboardProvider({
handleCloseModal,
handleOpenModal,
hasDisplayedSubscription,
hasValidActiveSubscription,
institutionMemberships,
managedGroupSubscriptions,
memberGroupSubscriptions,