overleaf/services/web/public/coffee/main/plans.coffee

103 lines
2.3 KiB
CoffeeScript
Raw Normal View History

2014-07-08 07:02:26 -04:00
define [
"base"
2014-09-04 14:03:04 -04:00
"libs/recurly-3.0.5"
], (App, recurly) ->
2014-09-05 10:47:08 -04:00
App.factory "MultiCurrencyPricing", () ->
2014-09-04 14:03:04 -04:00
recurly.configure(window.recurlyPublicToken);
pricing = recurly.Pricing()
window.pricing = pricing
2014-09-05 10:47:08 -04:00
currencyCode = pricing.items.currency
2014-09-04 14:03:04 -04:00
pricing.on "set.currency", (currency)->
2014-09-05 10:47:08 -04:00
currencyCode = pricing.items.currency
2014-09-01 12:48:09 -04:00
2014-09-05 10:47:08 -04:00
currencyCode:currencyCode
plans:
USD:
2014-09-04 14:03:04 -04:00
symbol: "$"
student:
monthly: "$8"
annual: "$80"
collaborator:
monthly: "$15"
annual: "$180"
professional:
monthly: "$30"
annual: "$360"
EUR:
2014-09-04 14:03:04 -04:00
symbol: ""
student:
2014-09-05 10:47:08 -04:00
monthly: "€7"
annual: "€70"
2014-09-04 14:03:04 -04:00
collaborator:
2014-09-05 10:47:08 -04:00
monthly: "€12"
annual: "€144"
2014-09-04 14:03:04 -04:00
professional:
2014-09-05 10:47:08 -04:00
monthly: "€25"
annual: "€300"
GBP:
2014-09-04 14:03:04 -04:00
symbol: "£"
student:
2014-09-05 10:47:08 -04:00
monthly: "£6"
annual: "£60"
2014-09-04 14:03:04 -04:00
collaborator:
2014-09-05 10:47:08 -04:00
monthly: "£10"
annual: "£120"
2014-09-04 14:03:04 -04:00
professional:
2014-09-05 10:47:08 -04:00
monthly: "£22"
annual: "£264"
App.controller "PlansController", ($scope, $modal, event_tracking, abTestManager, MultiCurrencyPricing) ->
buckets = [
{ bucketName:"30d", queryString: "_free_trial", trial_len:30 }
{ bucketName:"14d", queryString: "_free_trial_14_days", trial_len:14 }
]
bucket = abTestManager.getABTestBucket "trial_len", buckets
$scope.trial_len = bucket.trial_len
$scope.planQueryString = bucket.queryString
$scope.ui =
view: "monthly"
$scope.plans = MultiCurrencyPricing.plans
$scope.currencyCode = MultiCurrencyPricing.currencyCode
2014-09-04 14:03:04 -04:00
$scope.changeCurreny = (newCurrency)->
$scope.currencyCode = newCurrency
$scope.signUpNowClicked = (plan, annual)->
if $scope.ui.view == "annual"
plan = "#{plan}_annual"
else
abTestManager.processTestWithStep("trial_len", bucket.bucketName, 0)
event_tracking.send 'subscription-funnel', 'sign_up_now_button', plan
$scope.switchToMonthly = ->
$scope.ui.view = "monthly"
event_tracking.send 'subscription-funnel', 'plans-page', 'monthly-prices'
$scope.switchToStudent = ->
$scope.ui.view = "student"
event_tracking.send 'subscription-funnel', 'plans-page', 'student-prices'
$scope.switchToAnnual = ->
$scope.ui.view = "annual"
event_tracking.send 'subscription-funnel', 'plans-page', 'student-prices'
2014-07-25 07:32:26 -04:00
$scope.openGroupPlanModal = () ->
$modal.open {
templateUrl: "groupPlanModalTemplate"
}