mirror of
https://github.com/overleaf/overleaf.git
synced 2024-11-21 20:47:08 -05:00
Merge pull request #10891 from overleaf/jel-features-page-test
[web] Setup split test for new features page GitOrigin-RevId: c301089f2a251fef6cdc4434ac3c8356bb17545d
This commit is contained in:
parent
eecea7dcb0
commit
d7233870b9
8 changed files with 52 additions and 25 deletions
|
@ -80,7 +80,10 @@ function initialize(webRouter, privateApiRouter, publicApiRouter) {
|
||||||
webRouter.get(
|
webRouter.get(
|
||||||
'*',
|
'*',
|
||||||
expressify(
|
expressify(
|
||||||
SplitTestMiddleware.loadAssignmentsInLocals(['design-system-updates'])
|
SplitTestMiddleware.loadAssignmentsInLocals([
|
||||||
|
'design-system-updates',
|
||||||
|
'features-page',
|
||||||
|
])
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
- var featuresPageVariant = splitTestVariants && splitTestVariants['features-page']
|
||||||
|
|
||||||
footer.fat-footer.hidden-print
|
footer.fat-footer.hidden-print
|
||||||
.fat-footer-container
|
.fat-footer-container
|
||||||
.fat-footer-sections(class=hideFatFooter ? 'hidden' : undefined)
|
.fat-footer-sections(class=hideFatFooter ? 'hidden' : undefined)
|
||||||
|
@ -41,7 +43,10 @@ footer.fat-footer.hidden-print
|
||||||
|
|
||||||
ul.list-unstyled
|
ul.list-unstyled
|
||||||
li
|
li
|
||||||
a(href="/learn/how-to/Overleaf_premium_features") #{translate('premium_features')}
|
if !featuresPageVariant || featuresPageVariant === 'default'
|
||||||
|
a(href="/learn/how-to/Overleaf_premium_features") #{translate('premium_features')}
|
||||||
|
else
|
||||||
|
a(href="/about/features-overview") #{translate('features')}
|
||||||
li
|
li
|
||||||
a(href="/user/subscription/plans?itm_referrer=footer-for-indv-groups") !{translate('for_individuals_and_groups')}
|
a(href="/user/subscription/plans?itm_referrer=footer-for-indv-groups") !{translate('for_individuals_and_groups')}
|
||||||
li
|
li
|
||||||
|
|
|
@ -29,6 +29,7 @@ nav.navbar.navbar-default.navbar-main
|
||||||
- var canDisplayAdminRedirect = canRedirectToAdminDomain()
|
- var canDisplayAdminRedirect = canRedirectToAdminDomain()
|
||||||
- var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement)))
|
- var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement)))
|
||||||
- var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu
|
- var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu
|
||||||
|
- var featuresPageVariant = splitTestVariants && splitTestVariants['features-page']
|
||||||
|
|
||||||
if (typeof(suppressNavbarRight) == "undefined")
|
if (typeof(suppressNavbarRight) == "undefined")
|
||||||
.navbar-collapse.collapse(data-ol-navbar-main-collapse)
|
.navbar-collapse.collapse(data-ol-navbar-main-collapse)
|
||||||
|
@ -94,13 +95,15 @@ nav.navbar.navbar-default.navbar-main
|
||||||
else
|
else
|
||||||
li
|
li
|
||||||
if child.url
|
if child.url
|
||||||
a(
|
if !child.splitTest || child.splitTest && child.splitTest === 'features-page' && child.splitTestVariant === featuresPageVariant
|
||||||
href=child.url,
|
a(
|
||||||
class=child.class,
|
href=child.url,
|
||||||
event-tracking=child.event
|
class=child.class,
|
||||||
event-tracking-mb="true"
|
event-tracking=child.event
|
||||||
event-tracking-trigger="click"
|
event-tracking-mb="true"
|
||||||
) !{translate(child.text)}
|
event-tracking-trigger="click"
|
||||||
|
event-segmentation=child.eventSegmentation
|
||||||
|
) !{translate(child.text)}
|
||||||
else
|
else
|
||||||
| !{translate(child.text)}
|
| !{translate(child.text)}
|
||||||
else
|
else
|
||||||
|
|
|
@ -15,6 +15,7 @@ nav.navbar.navbar-default.navbar-main
|
||||||
- var canDisplayAdminRedirect = canRedirectToAdminDomain()
|
- var canDisplayAdminRedirect = canRedirectToAdminDomain()
|
||||||
- var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement)))
|
- var canDisplaySplitTestMenu = hasFeature('saas') && (canDisplayAdminMenu || (getSessionUser() && getSessionUser().staffAccess && (getSessionUser().staffAccess.splitTestMetrics || getSessionUser().staffAccess.splitTestManagement)))
|
||||||
- var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu
|
- var canDisplaySurveyMenu = hasFeature('saas') && canDisplayAdminMenu
|
||||||
|
- var featuresPageVariant = splitTestVariants && splitTestVariants['features-page']
|
||||||
|
|
||||||
if (typeof(suppressNavbarRight) == "undefined")
|
if (typeof(suppressNavbarRight) == "undefined")
|
||||||
.navbar-collapse.collapse(collapse="navCollapsed")
|
.navbar-collapse.collapse(collapse="navCollapsed")
|
||||||
|
@ -70,13 +71,15 @@ nav.navbar.navbar-default.navbar-main
|
||||||
else
|
else
|
||||||
li
|
li
|
||||||
if child.url
|
if child.url
|
||||||
a(
|
if !child.splitTest || child.splitTest && child.splitTest === 'features-page' && child.splitTestVariant === featuresPageVariant
|
||||||
href=child.url,
|
a(
|
||||||
class=child.class,
|
href=child.url,
|
||||||
event-tracking=child.event
|
class=child.class,
|
||||||
event-tracking-mb="true"
|
event-tracking=child.event
|
||||||
event-tracking-trigger="click"
|
event-tracking-mb="true"
|
||||||
) !{translate(child.text)}
|
event-tracking-trigger="click"
|
||||||
|
event-segmentation=child.eventSegmentation
|
||||||
|
) !{translate(child.text)}
|
||||||
else
|
else
|
||||||
| !{translate(child.text)}
|
| !{translate(child.text)}
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,3 +1,6 @@
|
||||||
|
- var featuresPageVariantNew = splitTestVariants && splitTestVariants['features-page'] && splitTestVariants['features-page'] === 'new'
|
||||||
|
- var featuresLink = featuresPageVariantNew ? "/about/features-overview" : "/learn/how-to/Overleaf_premium_features"
|
||||||
|
|
||||||
mixin current_plan()
|
mixin current_plan()
|
||||||
if (usersBestSubscription)
|
if (usersBestSubscription)
|
||||||
.text-right.pull-right.current-plan
|
.text-right.pull-right.current-plan
|
||||||
|
@ -21,7 +24,7 @@ mixin individual_plan_trial(subscription, plan, remainingTrialDays)
|
||||||
a.current-plan-label(
|
a.current-plan-label(
|
||||||
tooltip=translate('plan_tooltip', { plan: plan.name }),
|
tooltip=translate('plan_tooltip', { plan: plan.name }),
|
||||||
tooltip-placement="bottom"
|
tooltip-placement="bottom"
|
||||||
href="/learn/how-to/Overleaf_premium_features"
|
href=featuresLink
|
||||||
)
|
)
|
||||||
if (remainingTrialDays === 1)
|
if (remainingTrialDays === 1)
|
||||||
| !{translate('trial_last_day')}
|
| !{translate('trial_last_day')}
|
||||||
|
@ -34,7 +37,7 @@ mixin individual_plan_active(subscription, plan)
|
||||||
a.current-plan-label(
|
a.current-plan-label(
|
||||||
tooltip=translate('plan_tooltip', {plan: plan.name}),
|
tooltip=translate('plan_tooltip', {plan: plan.name}),
|
||||||
tooltip-placement="bottom"
|
tooltip-placement="bottom"
|
||||||
href="/learn/how-to/Overleaf_premium_features"
|
href=featuresLink
|
||||||
)
|
)
|
||||||
| !{translate('premium_plan_label')}
|
| !{translate('premium_plan_label')}
|
||||||
span.info-badge
|
span.info-badge
|
||||||
|
@ -43,7 +46,7 @@ mixin group_plan_trial(subscription, plan, remainingTrialDays)
|
||||||
a.current-plan-label(
|
a.current-plan-label(
|
||||||
tooltip=translate(subscription.teamName != null ? 'group_plan_with_name_tooltip' : 'group_plan_tooltip', { plan: plan.name, groupName: subscription.teamName }),
|
tooltip=translate(subscription.teamName != null ? 'group_plan_with_name_tooltip' : 'group_plan_tooltip', { plan: plan.name, groupName: subscription.teamName }),
|
||||||
tooltip-placement="bottom"
|
tooltip-placement="bottom"
|
||||||
href="/learn/how-to/Overleaf_premium_features"
|
href=featuresLink
|
||||||
)
|
)
|
||||||
if (remainingTrialDays === 1)
|
if (remainingTrialDays === 1)
|
||||||
| !{translate('trial_last_day')}
|
| !{translate('trial_last_day')}
|
||||||
|
@ -56,7 +59,7 @@ mixin group_plan_active(subscription, plan)
|
||||||
a.current-plan-label(
|
a.current-plan-label(
|
||||||
tooltip=translate(subscription.teamName != null ? 'group_plan_with_name_tooltip' : 'group_plan_tooltip', { plan: plan.name, groupName: subscription.teamName }),
|
tooltip=translate(subscription.teamName != null ? 'group_plan_with_name_tooltip' : 'group_plan_tooltip', { plan: plan.name, groupName: subscription.teamName }),
|
||||||
tooltip-placement="bottom"
|
tooltip-placement="bottom"
|
||||||
href="/learn/how-to/Overleaf_premium_features"
|
href=featuresLink
|
||||||
)
|
)
|
||||||
| !{translate('premium_plan_label')}
|
| !{translate('premium_plan_label')}
|
||||||
span.info-badge
|
span.info-badge
|
||||||
|
@ -65,7 +68,7 @@ mixin commons_plan(subscription, plan)
|
||||||
a.current-plan-label(
|
a.current-plan-label(
|
||||||
tooltip=translate('commons_plan_tooltip', { plan: plan.name, institution: subscription.name }),
|
tooltip=translate('commons_plan_tooltip', { plan: plan.name, institution: subscription.name }),
|
||||||
tooltip-placement="bottom"
|
tooltip-placement="bottom"
|
||||||
href="/learn/how-to/Overleaf_premium_features"
|
href=featuresLink
|
||||||
)
|
)
|
||||||
| !{translate('premium_plan_label')}
|
| !{translate('premium_plan_label')}
|
||||||
span.info-badge
|
span.info-badge
|
||||||
|
@ -74,7 +77,7 @@ mixin free_plan()
|
||||||
a.current-plan-label(
|
a.current-plan-label(
|
||||||
tooltip=translate('free_plan_tooltip'),
|
tooltip=translate('free_plan_tooltip'),
|
||||||
tooltip-placement="bottom"
|
tooltip-placement="bottom"
|
||||||
href="/learn/how-to/Overleaf_premium_features"
|
href=featuresLink
|
||||||
)
|
)
|
||||||
| !{translate('free_plan_label')}
|
| !{translate('free_plan_label')}
|
||||||
span.info-badge
|
span.info-badge
|
||||||
|
|
|
@ -1 +1,6 @@
|
||||||
p !{translate("get_most_subscription_by_checking_premium_features", {}, [{name: 'a', attrs: {href: '/learn/how-to/Overleaf_premium_features'}}])}
|
- var featuresPageVariantNew = splitTestVariants && splitTestVariants['features-page'] && splitTestVariants['features-page'] === 'new'
|
||||||
|
|
||||||
|
if featuresPageVariantNew
|
||||||
|
p !{translate("get_most_subscription_by_checking_features", {}, [{name: 'a', attrs: {href: '/about/features-overview'}}])}
|
||||||
|
else
|
||||||
|
p !{translate("get_most_subscription_by_checking_premium_features", {}, [{name: 'a', attrs: {href: '/learn/how-to/Overleaf_premium_features'}}])}
|
|
@ -1,6 +1,10 @@
|
||||||
extends ../layout
|
extends ../layout
|
||||||
|
|
||||||
block content
|
block content
|
||||||
|
- var featuresPageVariantNew = splitTestVariants && splitTestVariants['features-page'] && splitTestVariants['features-page'] === 'new'
|
||||||
|
- var featuresLink = featuresPageVariantNew ? "/about/features-overview" : "/learn/how-to/Overleaf_premium_features"
|
||||||
|
- var featuresTranslationKey = featuresPageVariantNew ? 'get_most_subscription_by_checking_features' : 'get_most_subscription_by_checking_premium_features'
|
||||||
|
|
||||||
main.content.content-alt#main-content
|
main.content.content-alt#main-content
|
||||||
.container
|
.container
|
||||||
.row
|
.row
|
||||||
|
@ -20,7 +24,7 @@ block content
|
||||||
a.btn.btn-primary.btn-large(href=`/manage/groups/${personalSubscription._id}/members`) #{translate("add_your_first_group_member_now")}
|
a.btn.btn-primary.btn-large(href=`/manage/groups/${personalSubscription._id}/members`) #{translate("add_your_first_group_member_now")}
|
||||||
p.letter-from-founders
|
p.letter-from-founders
|
||||||
p #{translate("thanks_for_subscribing_you_help_sl", {planName:personalSubscription.plan.name})}
|
p #{translate("thanks_for_subscribing_you_help_sl", {planName:personalSubscription.plan.name})}
|
||||||
p !{translate("get_most_subscription_by_checking_premium_features", {}, [{name: 'a', attrs: {href: 'https://www.overleaf.com/learn/how-to/Overleaf_premium_features'}}])}
|
p !{translate(featuresTranslationKey, {}, [{name: 'a', attrs: {href: featuresLink}}])}
|
||||||
p #{translate("need_anything_contact_us_at")}
|
p #{translate("need_anything_contact_us_at")}
|
||||||
a(href=`mailto:${settings.adminEmail}`, ng-non-bindable) #{settings.adminEmail}
|
a(href=`mailto:${settings.adminEmail}`, ng-non-bindable) #{settings.adminEmail}
|
||||||
| .
|
| .
|
||||||
|
|
|
@ -1944,5 +1944,6 @@
|
||||||
"contact_sales": "Contact Sales",
|
"contact_sales": "Contact Sales",
|
||||||
"empower_your_organization_to_work_in_overleaf": "Empower your organization to work in __appName__! Get a group or organizational plan.",
|
"empower_your_organization_to_work_in_overleaf": "Empower your organization to work in __appName__! Get a group or organizational plan.",
|
||||||
"save_money_groups_companies_research_organizations_can_save_money": "<0>Save Money</0>! Groups, Companies and Research Organizations can save money with our Group and Enterprise plans — request information or a quote.",
|
"save_money_groups_companies_research_organizations_can_save_money": "<0>Save Money</0>! Groups, Companies and Research Organizations can save money with our Group and Enterprise plans — request information or a quote.",
|
||||||
"did_you_know_that_overleaf_offers": "Did you know that __appName__ offers group and organization-wide subscription options? Request information or a quote."
|
"did_you_know_that_overleaf_offers": "Did you know that __appName__ offers group and organization-wide subscription options? Request information or a quote.",
|
||||||
|
"get_most_subscription_by_checking_features": "Get the most out of your __appName__ subscription by checking out <0>__appName__’s features</0>."
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue