diff --git a/services/web/app/src/Features/Subscription/SubscriptionController.js b/services/web/app/src/Features/Subscription/SubscriptionController.js index dccc47c70a..981e58ee25 100644 --- a/services/web/app/src/Features/Subscription/SubscriptionController.js +++ b/services/web/app/src/Features/Subscription/SubscriptionController.js @@ -33,6 +33,19 @@ const validGroupPlanModalOptions = { } async function plansPage(req, res) { + const websiteRedesignPlansAssignment = + await SplitTestHandler.promises.getAssignment( + req, + res, + 'website-redesign-plans' + ) + + if (websiteRedesignPlansAssignment.variant === 'new-design') { + return res.redirect(302, '/user/subscription/plans-2') + } else if (websiteRedesignPlansAssignment.variant === 'light-design') { + return res.redirect(302, '/user/subscription/plans-3') + } + const language = req.i18n.language || 'en' const plans = SubscriptionViewModelBuilder.buildPlansList() @@ -123,6 +136,12 @@ async function plansPage(req, res) { }) } +async function plansPageLightDesign(req, res) { + res.render('subscriptions/plans-light-design', { + title: 'plans_and_pricing', + }) +} + function formatGroupPlansDataForDash() { return { plans: [...groupPlanModalOptions.plan_codes], @@ -615,6 +634,7 @@ async function getLatamCountryBannerDetails(req, res) { module.exports = { plansPage: expressify(plansPage), + plansPageLightDesign: expressify(plansPageLightDesign), userSubscriptionPage: expressify(userSubscriptionPage), interstitialPaymentPage: expressify(interstitialPaymentPage), successfulSubscription: expressify(successfulSubscription), diff --git a/services/web/app/src/Features/Subscription/SubscriptionRouter.js b/services/web/app/src/Features/Subscription/SubscriptionRouter.js index a6bd5459f2..ecda019da7 100644 --- a/services/web/app/src/Features/Subscription/SubscriptionRouter.js +++ b/services/web/app/src/Features/Subscription/SubscriptionRouter.js @@ -29,6 +29,12 @@ module.exports = { SubscriptionController.plansPage ) + webRouter.get( + '/user/subscription/plans-3', + RateLimiterMiddleware.rateLimit(subscriptionRateLimiter), + SubscriptionController.plansPageLightDesign + ) + webRouter.get( '/user/subscription', AuthenticationController.requireLogin(), diff --git a/services/web/app/views/subscriptions/plans-light-design.pug b/services/web/app/views/subscriptions/plans-light-design.pug new file mode 100644 index 0000000000..c939291588 --- /dev/null +++ b/services/web/app/views/subscriptions/plans-light-design.pug @@ -0,0 +1,13 @@ +extends ../layout-website-redesign + +block vars + - var suppressRelAlternateLinks = true + - metadata.canonicalURL = (settings.siteUrl ? settings.siteUrl : '') + '/user/subscription/plans' + +//- TODO: uncomment after bringing all of the elements from the old plans page +//- block entrypointVar +//- - entrypoint = 'pages/user/subscription/plans-v2/plans-v2-main' + +block content + main.content.website-redesign#main-content + p plans page light-design variant