Files
Verso/services/web/frontend/js/features/subscription/components/dashboard/subscription-dashboard.tsx
T
Jimmy Domagala-Tang 443fb3f152 Merge pull request #24739 from overleaf/dk-thankyou-page
Update "thanks for subscribing page" with AI Assist links

GitOrigin-RevId: 41a23d6fd5edfc8f9ad0f97e513e1ea66aed5bdc
2025-05-14 08:06:44 +00:00

67 lines
2.4 KiB
TypeScript

import { useTranslation } from 'react-i18next'
import ContactSupport from './contact-support-for-custom-subscription'
import GroupSubscriptionMemberships from './group-subscription-memberships'
import InstitutionMemberships from './institution-memberships'
import FreePlan from './free-plan'
import ManagedPublishers from './managed-publishers'
import PersonalSubscription from './personal-subscription'
import ManagedGroupSubscriptions from './managed-group-subscriptions'
import ManagedInstitutions from './managed-institutions'
import { useSubscriptionDashboardContext } from '../../context/subscription-dashboard-context'
import getMeta from '../../../../utils/meta'
import PremiumFeaturesLink from './premium-features-link'
import OLPageContentCard from '@/features/ui/components/ol/ol-page-content-card'
import OLRow from '@/features/ui/components/ol/ol-row'
import OLCol from '@/features/ui/components/ol/ol-col'
import OLNotification from '@/features/ui/components/ol/ol-notification'
function SubscriptionDashboard() {
const { t } = useTranslation()
const {
hasDisplayedSubscription,
hasSubscription,
hasValidActiveSubscription,
personalSubscription,
} = useSubscriptionDashboardContext()
const fromPlansPage = getMeta('ol-fromPlansPage')
return (
<div className="container">
<OLRow>
<OLCol lg={{ span: 8, offset: 2 }}>
{fromPlansPage && (
<OLNotification
className="mb-4"
aria-live="polite"
content={t('you_already_have_a_subscription')}
type="warning"
/>
)}
<OLPageContentCard>
<div className="page-header">
<h1>{t('your_subscription')}</h1>
</div>
<div>
<PersonalSubscription />
<ManagedGroupSubscriptions />
<ManagedInstitutions />
<ManagedPublishers />
<GroupSubscriptionMemberships />
<InstitutionMemberships />
{hasValidActiveSubscription && (
<PremiumFeaturesLink subscription={personalSubscription} />
)}
{!hasDisplayedSubscription &&
(hasSubscription ? <ContactSupport /> : <FreePlan />)}
</div>
</OLPageContentCard>
</OLCol>
</OLRow>
</div>
)
}
export default SubscriptionDashboard