Просмотр исходного кода

Merge pull request #15857 from overleaf/mf-split-test-website-redesign

[web] Configure `website-redesign` split test

GitOrigin-RevId: 8b1b3c6ab1ba9c674517ebdb87e89bd3a44aade7
M Fahru 2 лет назад
Родитель
Сommit
8aed8f7dd7

+ 18 - 6
services/web/app/src/Features/StaticPages/HomeController.js

@@ -58,6 +58,12 @@ module.exports = HomeController = {
         )
       }
 
+      const websiteRedesignVariant =
+        res.locals.splitTestVariants?.['website-redesign']
+      const websiteRedesignActive =
+        websiteRedesignVariant === 'new-design' ||
+        websiteRedesignVariant === 'new-design-registration'
+
       const onboardingFlowAssignment =
         await SplitTestHandler.promises.getAssignment(
           req,
@@ -65,12 +71,18 @@ module.exports = HomeController = {
           'onboarding-flow'
         )
 
-      return res.render('external/home/v2', {
-        designSystemUpdatesVariant: designSystemUpdatesAssignment.variant,
-        onboardingFlowVariant: onboardingFlowAssignment.variant,
-        hideNewsletterCheckbox:
-          onboardingFlowAssignment.variant === 'token-confirmation-odc',
-      })
+      if (websiteRedesignActive) {
+        return res.render('external/home/website-redesign/index', {
+          onboardingFlowVariant: onboardingFlowAssignment.variant,
+        })
+      } else {
+        return res.render('external/home/v2', {
+          designSystemUpdatesVariant: designSystemUpdatesAssignment.variant,
+          onboardingFlowVariant: onboardingFlowAssignment.variant,
+          hideNewsletterCheckbox:
+            onboardingFlowAssignment.variant === 'token-confirmation-odc',
+        })
+      }
     } else {
       return res.redirect('/login')
     }

+ 4 - 1
services/web/app/src/infrastructure/ExpressLocals.js

@@ -81,7 +81,10 @@ function getWebpackAssets(entrypoint, section) {
 module.exports = function (webRouter, privateApiRouter, publicApiRouter) {
   webRouter.use(
     expressify(
-      SplitTestMiddleware.loadAssignmentsInLocals(['design-system-updates'])
+      SplitTestMiddleware.loadAssignmentsInLocals([
+        'design-system-updates',
+        'website-redesign',
+      ])
     )
   )