diff --git a/services/web/app/src/Features/Subscription/SubscriptionController.js b/services/web/app/src/Features/Subscription/SubscriptionController.js index 11db6e6395..e9fd948b63 100644 --- a/services/web/app/src/Features/Subscription/SubscriptionController.js +++ b/services/web/app/src/Features/Subscription/SubscriptionController.js @@ -231,6 +231,7 @@ async function userSubscriptionPage(req, res) { res, 'local-ccy-format-v2' ) + await SplitTestHandler.promises.getAssignment(req, res, 'ai-add-on') // Populates splitTestVariants with a value for the split test name and allows // Pug to read it diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json index 454f8388e5..e94aa7e090 100644 --- a/services/web/frontend/extracted-translations.json +++ b/services/web/frontend/extracted-translations.json @@ -146,6 +146,7 @@ "browser": "", "bulk_accept_confirm": "", "bulk_reject_confirm": "", + "buy_overleaf_assist": "", "by_subscribing_you_agree_to_our_terms_of_service": "", "can_edit": "", "can_link_institution_email_acct_to_institution_acct": "", diff --git a/services/web/frontend/js/features/subscription/components/dashboard/free-plan.tsx b/services/web/frontend/js/features/subscription/components/dashboard/free-plan.tsx index 4a784343d9..965885f0b3 100644 --- a/services/web/frontend/js/features/subscription/components/dashboard/free-plan.tsx +++ b/services/web/frontend/js/features/subscription/components/dashboard/free-plan.tsx @@ -1,4 +1,5 @@ import { useTranslation, Trans } from 'react-i18next' +import { isSplitTestEnabled } from '@/utils/splitTestUtils' function FreePlan() { const { t } = useTranslation() @@ -23,9 +24,17 @@ function FreePlan() {
  • {t('github_integration_lowercase')}
  • {t('priority_support')}
  • - + {t('upgrade_now')} + {isSplitTestEnabled('ai-add-on') && ( + + {t('buy_overleaf_assist')} + + )} ) } diff --git a/services/web/frontend/js/features/subscription/components/dashboard/states/expired.tsx b/services/web/frontend/js/features/subscription/components/dashboard/states/expired.tsx index 72a61eb6c0..fec5c31611 100644 --- a/services/web/frontend/js/features/subscription/components/dashboard/states/expired.tsx +++ b/services/web/frontend/js/features/subscription/components/dashboard/states/expired.tsx @@ -1,5 +1,6 @@ import { useTranslation } from 'react-i18next' import { RecurlySubscription } from '../../../../../../../types/subscription/dashboard/subscription' +import { isSplitTestEnabled } from '@/utils/splitTestUtils' export function ExpiredSubscription({ subscription, @@ -14,12 +15,20 @@ export function ExpiredSubscription({

    {t('view_your_invoices')} - {' '} + + {isSplitTestEnabled('ai-add-on') && ( + + {t('buy_overleaf_assist')} + + )} {t('create_new_subscription')} diff --git a/services/web/locales/en.json b/services/web/locales/en.json index d42d03c053..c217e708ba 100644 --- a/services/web/locales/en.json +++ b/services/web/locales/en.json @@ -203,6 +203,7 @@ "bulk_accept_confirm": "Are you sure you want to accept the selected __nChanges__ changes?", "bulk_reject_confirm": "Are you sure you want to reject the selected __nChanges__ changes?", "buy_now_no_exclamation_mark": "Buy now", + "buy_overleaf_assist": "Buy Overleaf Assist", "by": "by", "by_joining_labs": "By joining Labs, you agree to receive occasional emails and updates from Overleaf—for example, to request your feedback. You also agree to our <0>terms of service and <1>privacy notice.", "by_registering_you_agree_to_our_terms_of_service": "By registering, you agree to our <0>terms of service and <1>privacy notice.",