_table_ctas.pug 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  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. - additionalEventSegmentation = additionalEventSegmentation || {}
  90. - var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header' }
  91. a.btn.btn-bg-ghost(
  92. href="/for/contact-sales"
  93. target="_blank"
  94. event-tracking=eventTrackingKey
  95. event-tracking-mb="true"
  96. event-tracking-trigger="click"
  97. event-segmentation=segmentation
  98. ) #{translate("contact_us_lowercase")}
  99. mixin additional_link_buy(eventTrackingKey, additionalEventSegmentation, plan, period)
  100. - var buttonSegmentation = plan + '-link'
  101. - additionalEventSegmentation = additionalEventSegmentation || {}
  102. - var segmentation = { ...additionalEventSegmentation, button: buttonSegmentation, location: 'table-header', period }
  103. - var itmCampaign = itm_campaign ? { itm_campaign } : {itm_campaign: 'plans'}
  104. - var itmReferrer = itm_referrer ? { itm_referrer } : {}
  105. - var qs = new URLSearchParams({planCode: plan, currency: recommendedCurrency, itm_content: 'card', ...itmCampaign, ...itmReferrer})
  106. a.btn.btn-bg-ghost(
  107. href=`/user/subscription/new?${qs.toString()}`
  108. event-tracking=eventTrackingKey
  109. event-tracking-mb="true"
  110. event-tracking-trigger="click"
  111. event-segmentation=segmentation
  112. ) #{translate("buy_now_no_exclamation_mark")}
  113. mixin plans_cta(tableHeadKey, highlighted, eventTrackingKey, additionalEventSegmentation, period)
  114. case tableHeadKey
  115. when 'individual_free'
  116. +btn_buy_individual_free()
  117. when 'individual_collaborator'
  118. +btn_buy_individual_collaborator(highlighted, eventTrackingKey, additionalEventSegmentation, period)
  119. when 'individual_professional'
  120. +btn_buy_individual_professional(highlighted, eventTrackingKey, additionalEventSegmentation, period)
  121. when 'group_collaborator'
  122. +btn_buy_group_collaborator(highlighted, eventTrackingKey)
  123. +additional_link_group(eventTrackingKey, additionalEventSegmentation, 'group_collaborator')
  124. when 'group_professional'
  125. +btn_buy_group_professional(highlighted, eventTrackingKey)
  126. +additional_link_group(eventTrackingKey, additionalEventSegmentation, 'group_professional')
  127. when 'group_organization'
  128. +btn_buy_group_organization(highlighted, eventTrackingKey)
  129. small.plans-table-th-content-additional-link.invisible(aria-hidden="true")
  130. when 'student_free'
  131. +btn_buy_student_free(highlighted)
  132. when 'student_student'
  133. +btn_buy_student_student(highlighted, eventTrackingKey, additionalEventSegmentation, period)