|
|
@@ -1,6 +1,7 @@
|
|
|
mixin plans_v2_table(period, config)
|
|
|
- var baseColspan = config.baseColspan || 1
|
|
|
- var maxColumn = config.maxColumn || 4
|
|
|
+ - var discountedColumn = config.discountedColumn || {}
|
|
|
tr
|
|
|
th(colspan=baseColspan)
|
|
|
- for (var i = 0; i < maxColumn; i++)
|
|
|
@@ -8,19 +9,32 @@ mixin plans_v2_table(period, config)
|
|
|
- var tableHeadOptions = Object.values(config.tableHead)[i] || {}
|
|
|
- var colspan = tableHeadOptions.colspan || baseColspan
|
|
|
- var highlighted = i === config.highlightedColumn.index
|
|
|
+ - var discountHighlighted = i === discountedColumn.index
|
|
|
- var eventTrackingKey = config.eventTrackingKey
|
|
|
- var additionalEventSegmentation = config.additionalEventSegmentation || {}
|
|
|
+ -
|
|
|
+ if (discountHighlighted) {
|
|
|
+ var thClass = 'plans-v2-table-discount-highlighted'
|
|
|
+ } else if (highlighted) {
|
|
|
+ var thClass = 'plans-v2-table-green-highlighted'
|
|
|
+ } else if (i === config.highlightedColumn.index - 1) {
|
|
|
+ var thClass = 'plans-v2-table-cell-before-green-highlighted-column'
|
|
|
+ } else {
|
|
|
+ var thClass = ''
|
|
|
+ }
|
|
|
th(
|
|
|
- class=(i === config.highlightedColumn.index ? 'plans-v2-table-green-highlighted' : (i === config.highlightedColumn.index - 1 ? 'plans-v2-table-cell-before-highlighted-column' : ''))
|
|
|
+ class=thClass
|
|
|
colspan=colspan
|
|
|
)
|
|
|
+ if (discountHighlighted)
|
|
|
+ p.plans-v2-table-discount-highlighted-text !{config.discountedColumn.text[period]}
|
|
|
if (highlighted)
|
|
|
p.plans-v2-table-green-highlighted-text !{config.highlightedColumn.text[period]}
|
|
|
case tableHeadKey
|
|
|
when 'individual_free'
|
|
|
+table_head_individual_free(highlighted, period)
|
|
|
when 'individual_personal'
|
|
|
- +table_head_individual_personal(highlighted, eventTrackingKey, additionalEventSegmentation, period)
|
|
|
+ +table_head_individual_personal(highlighted, discountHighlighted, eventTrackingKey, additionalEventSegmentation, period)
|
|
|
when 'individual_collaborator'
|
|
|
+table_head_individual_collaborator(highlighted, eventTrackingKey, additionalEventSegmentation, period)
|
|
|
when 'individual_professional'
|
|
|
@@ -97,8 +111,18 @@ mixin plans_v2_table(period, config)
|
|
|
for plan, planIndex in Object.keys(feature.plans)
|
|
|
- var tableHeadOptions = Object.values(config.tableHead)[planIndex] || {}
|
|
|
- var colspan = tableHeadOptions.colspan || baseColspan
|
|
|
+ -
|
|
|
+ if (planIndex === discountedColumn.index) {
|
|
|
+ var tdClass = 'plans-v2-table-discount-highlighted'
|
|
|
+ } else if (planIndex === config.highlightedColumn.index) {
|
|
|
+ var tdClass = 'plans-v2-table-green-highlighted'
|
|
|
+ } else if (planIndex === config.highlightedColumn.index - 1) {
|
|
|
+ var tdClass = 'plans-v2-table-cell-before-green-highlighted-column'
|
|
|
+ } else {
|
|
|
+ var tdClass = ''
|
|
|
+ }
|
|
|
td(
|
|
|
- class=(planIndex === config.highlightedColumn.index ? 'plans-v2-table-green-highlighted' : (planIndex === config.highlightedColumn.index - 1 ? 'plans-v2-table-cell-before-highlighted-column' : ''))
|
|
|
+ class=tdClass
|
|
|
colspan=colspan
|
|
|
)
|
|
|
+table_cell(feature, plan)
|
|
|
@@ -126,17 +150,17 @@ mixin table_head_individual_free(highlighted, period)
|
|
|
.plans-v2-table-btn-buy-container-desktop
|
|
|
+btn_buy_individual_free(highlighted)
|
|
|
|
|
|
-mixin table_head_individual_personal(highlighted, eventTrackingKey, additionalEventSegmentation, period)
|
|
|
+mixin table_head_individual_personal(highlighted, discountHighlighted, eventTrackingKey, additionalEventSegmentation, period)
|
|
|
.plans-v2-table-th-content
|
|
|
p.plans-v2-table-th-content-title #{translate("personal")}
|
|
|
+table_head_price('personal', period)
|
|
|
.plans-v2-table-btn-buy-container-mobile
|
|
|
- +btn_buy_individual_personal(highlighted, eventTrackingKey, additionalEventSegmentation, period)
|
|
|
+ +btn_buy_individual_personal(highlighted, discountHighlighted, eventTrackingKey, additionalEventSegmentation, period)
|
|
|
ul.plans-v2-table-th-content-benefit
|
|
|
li #{translate("one_collaborator")}
|
|
|
li #{translate("most_premium_features")}
|
|
|
.plans-v2-table-btn-buy-container-desktop
|
|
|
- +btn_buy_individual_personal(highlighted, eventTrackingKey, additionalEventSegmentation, period)
|
|
|
+ +btn_buy_individual_personal(highlighted, discountHighlighted, eventTrackingKey, additionalEventSegmentation, period)
|
|
|
|
|
|
mixin table_head_individual_collaborator(highlighted, eventTrackingKey, additionalEventSegmentation, period)
|
|
|
.plans-v2-table-th-content
|
|
|
@@ -166,7 +190,7 @@ mixin table_head_group_collaborator(highlighted, eventTrackingKey, additionalEve
|
|
|
.plans-v2-table-th-content
|
|
|
p.plans-v2-table-th-content-title #{translate("group_standard")}
|
|
|
.plans-v2-table-price-container
|
|
|
- strike.plans-v2-table-annual-price-before-discount(data-ol-plans-v2-table-annual-price-before-discount)
|
|
|
+ strike.plans-v2-table-price-before-discount
|
|
|
+gen_localized_price_for_plan_view('collaborator', 'annual')
|
|
|
p.plans-v2-table-price
|
|
|
span(data-ol-plans-v2-group-price-per-user='collaborator') #{initialLocalizedGroupPrice.pricePerUser.collaborator}
|
|
|
@@ -188,7 +212,7 @@ mixin table_head_group_professional(highlighted, eventTrackingKey, additionalEve
|
|
|
.plans-v2-table-th-content
|
|
|
p.plans-v2-table-th-content-title #{translate("group_professional")}
|
|
|
.plans-v2-table-price-container
|
|
|
- strike.plans-v2-table-annual-price-before-discount(data-ol-plans-v2-table-annual-price-before-discount)
|
|
|
+ strike.plans-v2-table-price-before-discount
|
|
|
+gen_localized_price_for_plan_view('professional', 'annual')
|
|
|
p.plans-v2-table-price
|
|
|
span(data-ol-plans-v2-group-price-per-user='professional') #{initialLocalizedGroupPrice.pricePerUser.professional}
|
|
|
@@ -271,9 +295,12 @@ mixin table_head_student_university(highlighted, eventTrackingKey, additionalEve
|
|
|
|
|
|
mixin table_head_price(plan, period)
|
|
|
div.plans-v2-table-price-container
|
|
|
- if plan !== 'free'
|
|
|
- strike.plans-v2-table-annual-price-before-discount.hidden(data-ol-plans-v2-table-annual-price-before-discount)
|
|
|
+ if plan !== 'free' && period === 'annual'
|
|
|
+ strike.plans-v2-table-price-before-discount
|
|
|
+gen_localized_price_for_plan_view(plan, 'monthlyTimesTwelve')
|
|
|
+ if plan === 'personal' && period === 'monthly'
|
|
|
+ strike.plans-v2-table-price-before-discount
|
|
|
+ +gen_localized_undiscounted_price_for_plan_view_personal(period)
|
|
|
p.plans-v2-table-price
|
|
|
+gen_localized_price_for_plan_view(plan, period)
|
|
|
p.plans-v2-table-price-period-label
|
|
|
@@ -345,12 +372,12 @@ mixin group_plans_license_picker()
|
|
|
) #{translate("learn_more_lowercase")}
|
|
|
span )
|
|
|
|
|
|
-mixin btn_buy_individual(highlighted, eventTrackingKey, subscriptionPlan, period)
|
|
|
+mixin btn_buy_individual(highlighted, discountHighlighted, eventTrackingKey, subscriptionPlan, period)
|
|
|
a.btn.plans-v2-table-btn-buy(
|
|
|
data-ol-start-new-subscription=subscriptionPlan
|
|
|
data-ol-event-tracking-key=eventTrackingKey
|
|
|
data-ol-item-view=period
|
|
|
- class=(highlighted ? 'btn-primary' : 'btn-default')
|
|
|
+ class=(discountHighlighted ? 'btn-dark-blue' : (highlighted ? 'btn-primary' : 'btn-default'))
|
|
|
)
|
|
|
if (period === 'monthly')
|
|
|
span #{translate("try_for_free")}
|
|
|
@@ -370,18 +397,18 @@ mixin btn_buy_individual_free()
|
|
|
class=(highlighted ? 'btn-primary' : 'btn-default')
|
|
|
)
|
|
|
|
|
|
-mixin btn_buy_individual_personal(highlighted, eventTrackingKey, additionalEventSegmentation, period)
|
|
|
- +btn_buy_individual(highlighted, eventTrackingKey, 'paid-personal', period)
|
|
|
+mixin btn_buy_individual_personal(highlighted, discountHighlighted, eventTrackingKey, additionalEventSegmentation, period)
|
|
|
+ +btn_buy_individual(highlighted, discountHighlighted, eventTrackingKey, 'paid-personal', period)
|
|
|
if (period === 'monthly')
|
|
|
+additional_link_buy(eventTrackingKey, additionalEventSegmentation, 'paid-personal', period)
|
|
|
|
|
|
mixin btn_buy_individual_collaborator(highlighted, eventTrackingKey, additionalEventSegmentation, period)
|
|
|
- +btn_buy_individual(highlighted, eventTrackingKey, 'collaborator', period)
|
|
|
+ +btn_buy_individual(highlighted, false, eventTrackingKey, 'collaborator', period)
|
|
|
if (period === 'monthly')
|
|
|
+additional_link_buy(eventTrackingKey, additionalEventSegmentation, 'collaborator', period)
|
|
|
|
|
|
mixin btn_buy_individual_professional(highlighted, eventTrackingKey, additionalEventSegmentation, period)
|
|
|
- +btn_buy_individual(highlighted, eventTrackingKey, 'professional', period)
|
|
|
+ +btn_buy_individual(highlighted, false, eventTrackingKey, 'professional', period)
|
|
|
if (period === 'monthly')
|
|
|
+additional_link_buy(eventTrackingKey, additionalEventSegmentation, 'professional', period)
|
|
|
|
|
|
@@ -492,8 +519,16 @@ mixin plans_v2_table_sticky_header(withSwitch, config)
|
|
|
- for (var i = 0; i < tableHeadKeys.length; i++)
|
|
|
- var tableHeadKey = tableHeadKeys[i]
|
|
|
- var translateKey = tableHeadKey.split('_')[1]
|
|
|
+ -
|
|
|
+ if (config.discountedColumn?.index === i) {
|
|
|
+ var elClass = 'plans-v2-table-sticky-header-item-discount-highlighted'
|
|
|
+ } else if (config.highlightedColumn.index === i) {
|
|
|
+ var elClass = 'plans-v2-table-sticky-header-item-green-highlighted'
|
|
|
+ } else {
|
|
|
+ var elClass = ''
|
|
|
+ }
|
|
|
.plans-v2-table-sticky-header-item(
|
|
|
- class=(config.highlightedColumn.index === i ? 'plans-v2-table-sticky-header-item-highlighted' : '')
|
|
|
+ class=elClass
|
|
|
)
|
|
|
case tableHeadKey
|
|
|
when 'individual_collaborator'
|