* [web] Update paywall copy for plans-2026 AI tiers
Replace AI-related strings in upgrade/paywall UI when the
plans-2026-phase-1 flag is enabled:
- Add `higher_ai_allowance` ("Higher AI allowance") for paywall bullet
lists and body text; keep `higher_ai_limits` ("Higher AI limits") for
the subscriptions dashboard, which uses different wording per spec
- Update three locale strings to use "allowance" instead of "limits":
`access_all_premium_features_ai`, `plus_additional_collaborators_and_more`,
`upgrade_to_add_more_collaborators_and_more`
- Fix casing: `upgrade_to_review` "Upgrade to Review" → "Upgrade to review"
- Switch upgrade-benefits and onboarding prompt from `higher_ai_limits`
to `higher_ai_allowance`
- Fix subscriptions free-plan to show `higher_ai_limits` instead of
`get_unlimited_ai` under the plans2026 flag
- Fix compile-timeout button to show "Start free trial" under plans2026
instead of "Start a free trial"
- Update two Cypress assertions for the new track-changes modal title
* Update extracted translations for higher AI allowance
* Remove "start a free trial" with exclamation
* Remove "get unlimited ai" translation entries
GitOrigin-RevId: 12300d94dc81c5407a21d4682d5714d7284c31b0
52 lines
1.7 KiB
TypeScript
52 lines
1.7 KiB
TypeScript
import { useTranslation, Trans } from 'react-i18next'
|
|
import WritefullManagedBundleAddOn from '@/features/subscription/components/dashboard/states/active/change-plan/modals/writefull-bundle-management-modal'
|
|
import getMeta from '@/utils/meta'
|
|
import { useFeatureFlag } from '@/shared/context/split-test-context'
|
|
|
|
function FreePlan() {
|
|
const { t } = useTranslation()
|
|
const hasAiAssistViaWritefull = getMeta('ol-hasAiAssistViaWritefull')
|
|
const plans2026 = useFeatureFlag('plans-2026-phase-1')
|
|
return (
|
|
<>
|
|
{plans2026 ? (
|
|
t('you_are_using_our_free_plan')
|
|
) : (
|
|
<Trans
|
|
i18nKey="on_free_plan_upgrade_to_access_features"
|
|
components={[
|
|
// eslint-disable-next-line react/jsx-key, jsx-a11y/anchor-has-content
|
|
<a
|
|
href="/learn/how-to/Overleaf_premium_features"
|
|
target="_blank"
|
|
/>,
|
|
]}
|
|
/>
|
|
)}
|
|
:
|
|
<ul>
|
|
<li>{t('invite_more_collabs')}</li>
|
|
{plans2026 && <li>{t('higher_ai_allowance')}</li>}
|
|
{!plans2026 && <li>{t('realtime_track_changes')}</li>}
|
|
<li>{t('full_doc_history')}</li>
|
|
<li>{t('reference_search')}</li>
|
|
<li>{t('reference_sync')}</li>
|
|
<li>{t('dropbox_integration_lowercase')}</li>
|
|
<li>{t('github_integration_lowercase')}</li>
|
|
{!plans2026 && <li>{t('priority_support')}</li>}
|
|
</ul>
|
|
<a className="btn btn-primary me-1" href="/user/subscription/plans">
|
|
{t('upgrade_now')}
|
|
</a>
|
|
{hasAiAssistViaWritefull && (
|
|
<>
|
|
<h2 className="h3 fw-bold">{t('add_ons')}</h2>
|
|
<WritefullManagedBundleAddOn />
|
|
</>
|
|
)}
|
|
</>
|
|
)
|
|
}
|
|
|
|
export default FreePlan
|