mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-04-26 05:53:39 -04:00
Add course membership required error to LevelLoadingView
This commit is contained in:
parent
75b9cb50d9
commit
2d2f4814f4
5 changed files with 17 additions and 3 deletions
app
models
schemas/subscriptions
styles/play/level
templates/play/level
views/play/level
|
@ -51,7 +51,10 @@ class CocoModel extends Backbone.Model
|
|||
@loading = false
|
||||
@jqxhr = null
|
||||
if jqxhr.status is 402
|
||||
Backbone.Mediator.publish 'level:subscription-required', {}
|
||||
if _.contains(jqxhr.responseText, 'be in a course')
|
||||
Backbone.Mediator.publish 'level:course-membership-required', {}
|
||||
else
|
||||
Backbone.Mediator.publish 'level:subscription-required', {}
|
||||
|
||||
onLoaded: ->
|
||||
@loaded = true
|
||||
|
|
|
@ -171,3 +171,5 @@ module.exports =
|
|||
hero: {type: 'object'}
|
||||
|
||||
'level:subscription-required': c.object {}
|
||||
|
||||
'level:course-membership-required': c.object {}
|
||||
|
|
|
@ -111,13 +111,13 @@
|
|||
font-variant: small-caps
|
||||
text-transform: none
|
||||
|
||||
.subscription-required
|
||||
.subscription-required, .course-membership-required
|
||||
display: none
|
||||
margin-top: -160px
|
||||
color: black
|
||||
font-size: 24px
|
||||
|
||||
.start-subscription-button
|
||||
.btn
|
||||
width: 100%
|
||||
margin: 0px auto
|
||||
font-size: 40px
|
||||
|
|
|
@ -24,6 +24,10 @@
|
|||
span(data-i18n="subscribe.subscription_required_to_play") You'll need a subscription to play this level.
|
||||
button.start-subscription-button.btn.btn-lg.btn-warning(data-i18n="subscribe.subscribe") Subscribe
|
||||
|
||||
.course-membership-required
|
||||
span(data-i18n="courses.course_membership_required_to_play") You'll need to join a course to play this level.
|
||||
a.btn.btn-lg.btn-warning(data-i18n="courses.go_to_courses", href="/courses") Go To Courses
|
||||
|
||||
#tip-wrapper
|
||||
strong.tip(data-i18n='play_level.tip_toggle_play') Toggle play/paused with Ctrl+P.
|
||||
strong.tip(data-i18n='play_level.tip_scrub_shortcut') Ctrl+[ and Ctrl+] rewind and fast-forward.
|
||||
|
|
|
@ -15,6 +15,7 @@ module.exports = class LevelLoadingView extends CocoView
|
|||
subscriptions:
|
||||
'level:loaded': 'onLevelLoaded' # If Level loads after level loading view.
|
||||
'level:subscription-required': 'onSubscriptionRequired' # If they'd need a subscription to start playing.
|
||||
'level:course-membership-required': 'onCourseMembershipRequired' # If they'd need a subscription to start playing.
|
||||
'subscribe-modal:subscribed': 'onSubscribed'
|
||||
|
||||
shortcuts:
|
||||
|
@ -109,6 +110,10 @@ module.exports = class LevelLoadingView extends CocoView
|
|||
@$el.find('.level-loading-goals, .tip, .load-progress').hide()
|
||||
@$el.find('.subscription-required').show()
|
||||
|
||||
onCourseMembershipRequired: (e) ->
|
||||
@$el.find('.level-loading-goals, .tip, .load-progress').hide()
|
||||
@$el.find('.course-membership-required').show()
|
||||
|
||||
onClickStartSubscription: (e) ->
|
||||
@openModalView new SubscribeModal()
|
||||
window.tracker?.trackEvent 'Show subscription modal', category: 'Subscription', label: 'level loading', level: @level?.get('slug') or @options.level?.get('slug')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue