_table_ctas.pug 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. mixin btn_buy_individual(highlighted, eventTrackingKey, subscriptionPlan, period)
  2. a.btn(
  3. data-ol-start-new-subscription=subscriptionPlan
  4. data-ol-event-tracking-key=eventTrackingKey
  5. data-ol-item-view=period
  6. class=(highlighted ? 'btn-primary' : 'btn-secondary')
  7. )
  8. if (period === 'monthly')
  9. span #{translate("try_for_free")}
  10. else
  11. span #{translate("buy_now_no_exclamation_mark")}
  12. mixin btn_buy_individual_free()
  13. if (!getSessionUser())
  14. a.btn(
  15. href="/register"
  16. class=(highlighted ? 'btn-primary' : 'btn-secondary')
  17. )
  18. span #{translate("try_for_free")}
  19. else
  20. a.btn.invisible(
  21. aria-hidden="true"
  22. class=(highlighted ? 'btn-primary' : 'btn-secondary')
  23. )
  24. mixin btn_buy_individual_collaborator(highlighted, eventTrackingKey, additionalEventSegmentation, period)
  25. +btn_buy_individual(highlighted, eventTrackingKey, 'collaborator', period)
  26. if (period === 'monthly')
  27. +additional_link_buy(eventTrackingKey, additionalEventSegmentation, 'collaborator', period)
  28. mixin btn_buy_individual_professional(highlighted, eventTrackingKey, additionalEventSegmentation, period)
  29. +btn_buy_individual(highlighted, eventTrackingKey, 'professional', period)
  30. if (period === 'monthly')
  31. +additional_link_buy(eventTrackingKey, additionalEventSegmentation, 'professional', period)
  32. mixin btn_buy_group_collaborator(highlighted, eventTrackingKey)
  33. a.btn(
  34. data-ol-start-new-subscription='group_collaborator'
  35. data-ol-event-tracking-key=eventTrackingKey
  36. data-ol-item-view='annual'
  37. data-ol-has-custom-href
  38. data-ol-location='table-header'
  39. class=(highlighted ? 'btn-primary' : 'btn-secondary')
  40. )
  41. span.visible-mobile-and-tablet #{translate("customize")}
  42. span.visible-desktop #{translate("customize_your_plan")}
  43. mixin btn_buy_group_professional(highlighted, eventTrackingKey)
  44. a.btn(
  45. data-ol-start-new-subscription='group_professional'
  46. data-ol-event-tracking-key=eventTrackingKey
  47. data-ol-item-view='annual'
  48. data-ol-has-custom-href
  49. data-ol-location='table-header'
  50. class=(highlighted ? 'btn-primary' : 'btn-secondary')
  51. )
  52. span.visible-mobile-and-tablet #{translate("customize")}
  53. span.visible-desktop #{translate("customize_your_plan")}
  54. mixin btn_buy_group_organization(highlighted, eventTrackingKey)
  55. a.btn(
  56. data-ol-start-new-subscription='group_organization'
  57. data-ol-event-tracking-key=eventTrackingKey
  58. data-ol-item-view='annual'
  59. data-ol-has-custom-href
  60. data-ol-location='table-header'
  61. href='/for/contact-sales'
  62. target='_blank'
  63. class=(highlighted ? 'btn-primary' : 'btn-secondary')
  64. )
  65. span #{translate("contact_us_lowercase")}
  66. mixin btn_buy_student_free(highlighted)
  67. if (!getSessionUser())
  68. a.btn(
  69. href="/register"
  70. class=(highlighted ? 'btn-primary' : 'btn-secondary')
  71. )
  72. span #{translate("try_for_free")}
  73. mixin btn_buy_student_student(highlighted, eventTrackingKey, additionalEventSegmentation, period)
  74. a.btn(
  75. data-ol-start-new-subscription='student'
  76. data-ol-event-tracking-key=eventTrackingKey
  77. data-ol-item-view=period
  78. data-ol-location='card'
  79. class=(highlighted ? 'btn-primary' : 'btn-secondary')
  80. )
  81. if (period === 'monthly')
  82. span #{translate("try_for_free")}
  83. else
  84. span #{translate("buy_now_no_exclamation_mark")}
  85. if (period === 'monthly')
  86. +additional_link_buy(eventTrackingKey, additionalEventSegmentation, 'student', period)
  87. mixin additional_link_group(eventTrackingKey, additionalEventSegmentation, plan)
  88. - var buttonSegmentation = plan + '-link'
  89. - var segmentation = JSON.stringify(Object.assign({}, {button: buttonSegmentation, location: 'table-header'}, additionalEventSegmentation))
  90. a.btn.btn-bg-ghost(
  91. href="/for/contact-sales"
  92. target="_blank"
  93. event-tracking=eventTrackingKey
  94. event-tracking-mb="true"
  95. event-tracking-trigger="click"
  96. event-segmentation=segmentation
  97. ) #{translate("contact_us_lowercase")}
  98. mixin additional_link_buy(eventTrackingKey, additionalEventSegmentation, plan, period)
  99. - var buttonSegmentation = plan + '-link'
  100. - var segmentation = JSON.stringify(Object.assign({}, {button: buttonSegmentation, location: 'table-header', period}, additionalEventSegmentation))
  101. - var itmCampaign = itm_campaign ? { itm_campaign } : {itm_campaign: 'plans'}
  102. - var itmReferrer = itm_referrer ? { itm_referrer } : {}
  103. - var qs = new URLSearchParams({planCode: plan, currency: recommendedCurrency, itm_content: 'card', ...itmCampaign, ...itmReferrer})
  104. a.btn.btn-bg-ghost(
  105. href=`/user/subscription/new?${qs.toString()}`
  106. event-tracking=eventTrackingKey
  107. event-tracking-mb="true"
  108. event-tracking-trigger="click"
  109. event-segmentation=segmentation
  110. ) #{translate("buy_now_no_exclamation_mark")}
  111. mixin plans_cta(tableHeadKey, highlighted, eventTrackingKey, additionalEventSegmentation, period)
  112. case tableHeadKey
  113. when 'individual_free'
  114. +btn_buy_individual_free()
  115. when 'individual_collaborator'
  116. +btn_buy_individual_collaborator(highlighted, eventTrackingKey, additionalEventSegmentation, period)
  117. when 'individual_professional'
  118. +btn_buy_individual_professional(highlighted, eventTrackingKey, additionalEventSegmentation, period)
  119. when 'group_collaborator'
  120. +btn_buy_group_collaborator(highlighted, eventTrackingKey)
  121. +additional_link_group(eventTrackingKey, additionalEventSegmentation, 'group_collaborator')
  122. when 'group_professional'
  123. +btn_buy_group_professional(highlighted, eventTrackingKey)
  124. +additional_link_group(eventTrackingKey, additionalEventSegmentation, 'group_professional')
  125. when 'group_organization'
  126. +btn_buy_group_organization(highlighted, eventTrackingKey)
  127. small.plans-table-th-content-additional-link.invisible(aria-hidden="true")
  128. when 'student_free'
  129. +btn_buy_student_free(highlighted)
  130. when 'student_student'
  131. +btn_buy_student_student(highlighted, eventTrackingKey, additionalEventSegmentation, period)