Explorar o código

Update AI Assist wording on checkout page if not in rollout (#25689)

* Update AI Assist wording on checkout page if not in rollout

* update wording when buyin addon

GitOrigin-RevId: 20a90b14e97b1a8837e8be697c1a9666ed15a1c3
Domagoj Kriskovic hai 1 ano
pai
achega
d7ef7f0399

+ 6 - 0
services/web/app/src/Features/Subscription/SubscriptionController.js

@@ -379,6 +379,12 @@ async function previewAddonPurchase(req, res) {
     paymentMethod
     paymentMethod
   )
   )
 
 
+  await SplitTestHandler.promises.getAssignment(
+    req,
+    res,
+    'overleaf-assist-bundle'
+  )
+
   res.render('subscriptions/preview-change', {
   res.render('subscriptions/preview-change', {
     changePreview,
     changePreview,
     purchaseReferrer,
     purchaseReferrer,

+ 2 - 0
services/web/frontend/extracted-translations.json

@@ -74,6 +74,8 @@
   "add_company_details": "",
   "add_company_details": "",
   "add_email_address": "",
   "add_email_address": "",
   "add_email_to_claim_features": "",
   "add_email_to_claim_features": "",
+  "add_error_assist_annual_to_your_projects": "",
+  "add_error_assist_to_your_projects": "",
   "add_files": "",
   "add_files": "",
   "add_more_collaborators": "",
   "add_more_collaborators": "",
   "add_more_licenses_to_my_plan": "",
   "add_more_licenses_to_my_plan": "",

+ 33 - 14
services/web/frontend/js/features/subscription/components/preview-subscription-change/root.tsx

@@ -20,6 +20,7 @@ import OLButton from '@/features/ui/components/ol/ol-button'
 import { subscriptionUpdateUrl } from '@/features/subscription/data/subscription-url'
 import { subscriptionUpdateUrl } from '@/features/subscription/data/subscription-url'
 import * as eventTracking from '@/infrastructure/event-tracking'
 import * as eventTracking from '@/infrastructure/event-tracking'
 import sparkleText from '@/shared/svgs/ai-sparkle-text.svg'
 import sparkleText from '@/shared/svgs/ai-sparkle-text.svg'
+import { useFeatureFlag } from '@/shared/context/split-test-context'
 
 
 function PreviewSubscriptionChange() {
 function PreviewSubscriptionChange() {
   const preview = getMeta(
   const preview = getMeta(
@@ -29,6 +30,7 @@ function PreviewSubscriptionChange() {
   const { t } = useTranslation()
   const { t } = useTranslation()
   const payNowTask = useAsync()
   const payNowTask = useAsync()
   const location = useLocation()
   const location = useLocation()
+  const aiAssistEnabled = useFeatureFlag('overleaf-assist-bundle')
 
 
   useEffect(() => {
   useEffect(() => {
     if (preview.change.type === 'add-on-purchase') {
     if (preview.change.type === 'add-on-purchase') {
@@ -107,20 +109,37 @@ function PreviewSubscriptionChange() {
 
 
             {aiAddOnChange && (
             {aiAddOnChange && (
               <div>
               <div>
-                <Trans
-                  i18nKey="add_ai_assist_to_your_plan"
-                  components={{
-                    sparkle: (
-                      <img
-                        alt="sparkle"
-                        className="ai-error-assistant-sparkle"
-                        src={sparkleText}
-                        aria-hidden="true"
-                        key="sparkle"
-                      />
-                    ),
-                  }}
-                />
+                {aiAssistEnabled ? (
+                  <Trans
+                    i18nKey="add_ai_assist_to_your_plan"
+                    components={{
+                      sparkle: (
+                        <img
+                          alt="sparkle"
+                          className="ai-error-assistant-sparkle"
+                          src={sparkleText}
+                          aria-hidden="true"
+                          key="sparkle"
+                        />
+                      ),
+                    }}
+                  />
+                ) : (
+                  <Trans
+                    i18nKey="add_error_assist_to_your_projects"
+                    components={{
+                      sparkle: (
+                        <img
+                          alt="sparkle"
+                          className="ai-error-assistant-sparkle"
+                          src={sparkleText}
+                          aria-hidden="true"
+                          key="sparkle"
+                        />
+                      ),
+                    }}
+                  />
+                )}
               </div>
               </div>
             )}
             )}
 
 

+ 6 - 1
services/web/frontend/js/pages/user/subscription/preview-change.tsx

@@ -1,9 +1,14 @@
 import '@/marketing'
 import '@/marketing'
 import { createRoot } from 'react-dom/client'
 import { createRoot } from 'react-dom/client'
 import PreviewSubscriptionChange from '@/features/subscription/components/preview-subscription-change/root'
 import PreviewSubscriptionChange from '@/features/subscription/components/preview-subscription-change/root'
+import { SplitTestProvider } from '@/shared/context/split-test-context'
 
 
 const element = document.getElementById('subscription-preview-change')
 const element = document.getElementById('subscription-preview-change')
 if (element) {
 if (element) {
   const root = createRoot(element)
   const root = createRoot(element)
-  root.render(<PreviewSubscriptionChange />)
+  root.render(
+    <SplitTestProvider>
+      <PreviewSubscriptionChange />
+    </SplitTestProvider>
+  )
 }
 }

+ 2 - 0
services/web/locales/en.json

@@ -88,6 +88,8 @@
   "add_email": "Add Email",
   "add_email": "Add Email",
   "add_email_address": "Add email address",
   "add_email_address": "Add email address",
   "add_email_to_claim_features": "Add an institutional email address to claim your features.",
   "add_email_to_claim_features": "Add an institutional email address to claim your features.",
+  "add_error_assist_annual_to_your_projects": "Add Error Assist Annual <sparkle/> to your projects and get unlimited AI help to fix LaTeX errors faster.",
+  "add_error_assist_to_your_projects": "Add Error Assist <sparkle/> to your projects and get unlimited AI help to fix LaTeX errors faster.",
   "add_files": "Add Files",
   "add_files": "Add Files",
   "add_more_collaborators": "Add more collaborators",
   "add_more_collaborators": "Add more collaborators",
   "add_more_licenses_to_my_plan": "Add more licenses to my plan",
   "add_more_licenses_to_my_plan": "Add more licenses to my plan",