From fdb48eaacc6db825c68aa89bc583680fe9372af3 Mon Sep 17 00:00:00 2001
From: ilkin-overleaf <100852799+ilkin-overleaf@users.noreply.github.com>
Date: Tue, 11 Feb 2025 11:45:44 +0200
Subject: [PATCH] Merge pull request #23498 from
overleaf/ii-flexible-group-licensing-paused-subscription
[web] Paused subscription support
GitOrigin-RevId: 76482011f9a75786722b4cc0c074e8c2ac3d6fb4
---
.../dashboard/states/active/active-new.tsx | 93 ++++++++++++++++++-
1 file changed, 88 insertions(+), 5 deletions(-)
diff --git a/services/web/frontend/js/features/subscription/components/dashboard/states/active/active-new.tsx b/services/web/frontend/js/features/subscription/components/dashboard/states/active/active-new.tsx
index 070a68275e..83fc027dcd 100644
--- a/services/web/frontend/js/features/subscription/components/dashboard/states/active/active-new.tsx
+++ b/services/web/frontend/js/features/subscription/components/dashboard/states/active/active-new.tsx
@@ -24,6 +24,14 @@ import getMeta from '@/utils/meta'
import classnames from 'classnames'
import SubscriptionRemainder from '@/features/subscription/components/dashboard/states/active/subscription-remainder'
import { sendMB } from '../../../../../../infrastructure/event-tracking'
+import PauseSubscriptionModal from '@/features/subscription/components/dashboard/pause-modal'
+import LoadingSpinner from '@/shared/components/loading-spinner'
+import { postJSON } from '@/infrastructure/fetch-json'
+import { debugConsole } from '@/utils/debugging'
+import useAsync from '@/shared/hooks/use-async'
+import { useLocation } from '@/shared/hooks/use-location'
+import { FlashMessage } from '@/features/subscription/components/dashboard/states/active/flash-message'
+import Notification from '@/shared/components/notification'
export function ActiveSubscriptionNew({
subscription,
@@ -37,7 +45,10 @@ export function ActiveSubscriptionNew({
showCancellation,
institutionMemberships,
memberGroupSubscriptions,
+ getFormattedRenewalDate,
} = useSubscriptionDashboardContext()
+ const cancelPauseReq = useAsync()
+ const { isError: isErrorPause } = cancelPauseReq
if (showCancellation) return
+
{t('you_can_still_use_your_premium_features')}
+ > + )} {!onStandalonePlan && ({subscription.plan.annual @@ -209,6 +256,8 @@ export function ActiveSubscriptionNew({ subscription={subscription} onStandalonePlan={onStandalonePlan} handlePlanChange={handlePlanChange} + hasPendingPause={hasPendingPause} + cancelPauseReq={cancelPauseReq} /> )}