diff --git a/app/locale/en.coffee b/app/locale/en.coffee index b793a74f7..11c7a1d33 100644 --- a/app/locale/en.coffee +++ b/app/locale/en.coffee @@ -270,6 +270,7 @@ loading_ready: "Ready!" loading_start: "Start Level" problem_alert_title: "Fix Your Code" + problem_alert_help: "Help" time_current: "Now:" time_total: "Max:" time_goto: "Go to:" diff --git a/app/styles/play/level/tome/problem_alert.sass b/app/styles/play/level/tome/problem_alert.sass index 5c2f2027c..d58a12dd1 100644 --- a/app/styles/play/level/tome/problem_alert.sass +++ b/app/styles/play/level/tome/problem_alert.sass @@ -63,6 +63,9 @@ &.alert-info border-image-source: url(/images/level/code_editor_info_background.png) + + #problem-alert-help-button + float: right html.no-borderimage .problem-alert diff --git a/app/templates/play/level/tome/problem_alert.jade b/app/templates/play/level/tome/problem_alert.jade index 6951145b8..a227658c3 100644 --- a/app/templates/play/level/tome/problem_alert.jade +++ b/app/templates/play/level/tome/problem_alert.jade @@ -6,3 +6,4 @@ if hint span.problem-subtitle!= message else span.problem-title!= message +button.btn.btn-lg.btn-info.banner#problem-alert-help-button(data-i18n="play_level.problem_alert_help") diff --git a/app/views/play/level/PlayLevelView.coffee b/app/views/play/level/PlayLevelView.coffee index 8465a07ed..b0960438c 100644 --- a/app/views/play/level/PlayLevelView.coffee +++ b/app/views/play/level/PlayLevelView.coffee @@ -240,7 +240,7 @@ module.exports = class PlayLevelView extends RootView @insertSubView new HUDView {level: @level} @insertSubView new LevelDialogueView {level: @level} @insertSubView new ChatView levelID: @levelID, sessionID: @session.id, session: @session - @insertSubView new ProblemAlertView {} + @insertSubView new ProblemAlertView session: @session, level: @level, supermodel: @supermodel worldName = utils.i18n @level.attributes, 'name' @controlBar = @insertSubView new ControlBarView {worldName: worldName, session: @session, level: @level, supermodel: @supermodel} #_.delay (=> Backbone.Mediator.publish('level:set-debug', debug: true)), 5000 if @isIPadApp() # if me.displayName() is 'Nick' diff --git a/app/views/play/level/tome/ProblemAlertView.coffee b/app/views/play/level/tome/ProblemAlertView.coffee index 2460454d5..b53d0ea1f 100644 --- a/app/views/play/level/tome/ProblemAlertView.coffee +++ b/app/views/play/level/tome/ProblemAlertView.coffee @@ -1,4 +1,5 @@ CocoView = require 'views/core/CocoView' +GameMenuModal = require 'views/play/menu/GameMenuModal' template = require 'templates/play/level/tome/problem_alert' {me} = require 'core/auth' @@ -17,9 +18,13 @@ module.exports = class ProblemAlertView extends CocoView events: 'click .close': 'onRemoveClicked' + 'click #problem-alert-help-button': 'onClickProblemAlertHelp' constructor: (options) -> super options + @level = options.level + @session = options.session + @supermodel = options.supermodel if options.problem? @problem = options.problem @onWindowResize() @@ -69,6 +74,7 @@ module.exports = class ProblemAlertView extends CocoView @onWindowResize() @render() @onJiggleProblemAlert() + application.tracker?.trackEvent 'Show problem alert', levelID: @level.get('slug') onJiggleProblemAlert: -> return unless @problem? @@ -83,6 +89,10 @@ module.exports = class ProblemAlertView extends CocoView return unless @$el.is(':visible') @onRemoveClicked() + onClickProblemAlertHelp: -> + application.tracker?.trackEvent 'Problem alert help clicked', levelID: @level.get('slug') + @openModalView new GameMenuModal showTab: 'guide', level: @level, session: @session, supermodel: @supermodel + onRemoveClicked: -> @playSound 'menu-button-click' @$el.hide() diff --git a/app/views/play/menu/GameMenuModal.coffee b/app/views/play/menu/GameMenuModal.coffee index b91f2b93b..2ac0233af 100644 --- a/app/views/play/menu/GameMenuModal.coffee +++ b/app/views/play/menu/GameMenuModal.coffee @@ -50,6 +50,7 @@ module.exports = class GameMenuModal extends ModalView if @options.showTab firstView = switch @options.showTab when 'multiplayer' then @subviews.multiplayer_view + when 'guide' then @subviews.guide_view unless firstView? firstView = (@subviews.options_view) firstView.$el.addClass 'active'