From 34fa1e12e7808fad75300a3a4cf6d93f1628e761 Mon Sep 17 00:00:00 2001 From: Eric Mc Sween <5454374+emcsween@users.noreply.github.com> Date: Mon, 18 Nov 2024 10:22:29 -0500 Subject: [PATCH] Merge pull request #21898 from overleaf/em-ai-add-on-checkout-page Adapt checkout page to standalone AI add-on GitOrigin-RevId: ed877bc10c1dd4362c981000e0d783e370f3593a --- services/web/frontend/extracted-translations.json | 1 + .../components/dashboard/personal-subscription.tsx | 12 ++---------- .../dashboard/states/active/active-ai-addon.tsx | 8 ++------ .../change-plan/modals/cancel-ai-add-on-modal.tsx | 4 ++-- .../js/features/subscription/data/add-on-codes.ts | 6 +++++- services/web/locales/en.json | 1 + 6 files changed, 13 insertions(+), 19 deletions(-) diff --git a/services/web/frontend/extracted-translations.json b/services/web/frontend/extracted-translations.json index 3f029cf750..fc805f5058 100644 --- a/services/web/frontend/extracted-translations.json +++ b/services/web/frontend/extracted-translations.json @@ -66,6 +66,7 @@ "add_company_details": "", "add_email_address": "", "add_email_to_claim_features": "", + "add_error_assist_to_your_projects": "", "add_files": "", "add_more_collaborators": "", "add_more_editors": "", diff --git a/services/web/frontend/js/features/subscription/components/dashboard/personal-subscription.tsx b/services/web/frontend/js/features/subscription/components/dashboard/personal-subscription.tsx index 90ed5f6ab2..11da69fc7a 100644 --- a/services/web/frontend/js/features/subscription/components/dashboard/personal-subscription.tsx +++ b/services/web/frontend/js/features/subscription/components/dashboard/personal-subscription.tsx @@ -7,11 +7,7 @@ import { ExpiredSubscription } from './states/expired' import { useSubscriptionDashboardContext } from '../../context/subscription-dashboard-context' import PersonalSubscriptionRecurlySyncEmail from './personal-subscription-recurly-sync-email' import OLNotification from '@/features/ui/components/ol/ol-notification' -import { - AI_STANDALONE_PLAN_CODE, - AI_STANDALONE_ANNUAL_PLAN_CODE, - AI_ADD_ON_CODE, -} from '../../data/add-on-codes' +import { isStandaloneAiPlanCode, AI_ADD_ON_CODE } from '../../data/add-on-codes' function PastDueSubscriptionAlert({ subscription, @@ -50,11 +46,7 @@ function PersonalSubscriptionStates({ addOn => addOn.addOnCode === AI_ADD_ON_CODE ) - const onAiStandalonePlan = [ - AI_STANDALONE_PLAN_CODE, - AI_STANDALONE_ANNUAL_PLAN_CODE, - ].includes(subscription.planCode) - + const onAiStandalonePlan = isStandaloneAiPlanCode(subscription.planCode) const planHasAi = onAiStandalonePlan || hasAiAddon if (state === 'active' && planHasAi) { diff --git a/services/web/frontend/js/features/subscription/components/dashboard/states/active/active-ai-addon.tsx b/services/web/frontend/js/features/subscription/components/dashboard/states/active/active-ai-addon.tsx index c44a9fe656..b257ca2754 100644 --- a/services/web/frontend/js/features/subscription/components/dashboard/states/active/active-ai-addon.tsx +++ b/services/web/frontend/js/features/subscription/components/dashboard/states/active/active-ai-addon.tsx @@ -15,8 +15,7 @@ import { ADD_ON_NAME, AI_ADD_ON_CODE, AI_STANDALONE_PLAN_NAME, - AI_STANDALONE_PLAN_CODE, - AI_STANDALONE_ANNUAL_PLAN_CODE, + isStandaloneAiPlanCode, } from '../../../../data/add-on-codes' import { CancelSubscriptionButton } from './cancel-subscription-button' @@ -32,10 +31,7 @@ export function ActiveAiAddonSubscription({ useSubscriptionDashboardContext() if (showCancellation) return - const onStandalonePlan = [ - AI_STANDALONE_PLAN_CODE, - AI_STANDALONE_ANNUAL_PLAN_CODE, - ].includes(subscription.planCode) + const onStandalonePlan = isStandaloneAiPlanCode(subscription.planCode) const handlePlanChange = () => setModalIdShown('change-plan') diff --git a/services/web/frontend/js/features/subscription/components/dashboard/states/active/change-plan/modals/cancel-ai-add-on-modal.tsx b/services/web/frontend/js/features/subscription/components/dashboard/states/active/change-plan/modals/cancel-ai-add-on-modal.tsx index 34a8ccae99..0eeb139c8b 100644 --- a/services/web/frontend/js/features/subscription/components/dashboard/states/active/change-plan/modals/cancel-ai-add-on-modal.tsx +++ b/services/web/frontend/js/features/subscription/components/dashboard/states/active/change-plan/modals/cancel-ai-add-on-modal.tsx @@ -14,8 +14,8 @@ import OLButton from '@/features/ui/components/ol/ol-button' import OLNotification from '@/features/ui/components/ol/ol-notification' import { AI_ADD_ON_CODE, - AI_STANDALONE_PLAN_CODE, ADD_ON_NAME, + isStandaloneAiPlanCode, } from '../../../../../../data/add-on-codes' import { cancelSubscriptionUrl, @@ -33,7 +33,7 @@ export function CancelAiAddOnModal() { if (!personalSubscription) return null - const onStandalone = personalSubscription.planCode === AI_STANDALONE_PLAN_CODE + const onStandalone = isStandaloneAiPlanCode(personalSubscription.planCode) const cancellationEndpoint = onStandalone ? cancelSubscriptionUrl diff --git a/services/web/frontend/js/features/subscription/data/add-on-codes.ts b/services/web/frontend/js/features/subscription/data/add-on-codes.ts index cb32f1fa4c..c13efaa720 100644 --- a/services/web/frontend/js/features/subscription/data/add-on-codes.ts +++ b/services/web/frontend/js/features/subscription/data/add-on-codes.ts @@ -3,4 +3,8 @@ export const AI_ADD_ON_CODE = 'assistant' // we dont want translations on plan or add-on names export const ADD_ON_NAME = "Error Assist" export const AI_STANDALONE_PLAN_NAME = "Overleaf Free" -export const AI_STANDALONE_ANNUAL_PLAN_CODE = 'assistant-annual' \ No newline at end of file +export const AI_STANDALONE_ANNUAL_PLAN_CODE = 'assistant-annual' + +export function isStandaloneAiPlanCode(planCode: string) { + return planCode === AI_STANDALONE_PLAN_CODE || planCode === AI_STANDALONE_ANNUAL_PLAN_CODE +} diff --git a/services/web/locales/en.json b/services/web/locales/en.json index da85c29b7a..9b6d5dc7b6 100644 --- a/services/web/locales/en.json +++ b/services/web/locales/en.json @@ -78,6 +78,7 @@ "add_email": "Add Email", "add_email_address": "Add email address", "add_email_to_claim_features": "Add an institutional email address to claim your features.", + "add_error_assist_to_your_projects": "Add Error Assist to your projects and get AI help to fix LaTeX errors faster.", "add_files": "Add Files", "add_more_collaborators": "Add more collaborators", "add_more_editors": "Add more editors",