extends ../layout-wide block content .row .col-xs-12.col-sm-12.col-md-4.bonfire-top h1.text-center= name .well h4 ol for step, index in details .row.checklist-element(id="#{dashedName + index}") .col-xs-3.col-sm-1.col-md-2.padded-ionic-icon.text-center input(type='checkbox' class='challenge-list-checkbox') .col-xs-9.col-sm-11.col-md-10 li.step-text.wrappable!= step .col-xs-12.col-sm-12.col-md-8 .embed-responsive.embed-responsive-16by9 iframe.embed-responsive-item(src='//player.vimeo.com/video/#{video}') br if (user) a.btn.btn-primary.btn-big.btn-block#completed-zipline-or-basejump I've completed this challenge (ctrl + enter) if (user.sentSlackInvite) .button-spacer .btn-group.input-group.btn-group-justified .btn.btn-success.btn-big#trigger-help-editorless-modal i.fa.fa-medkit |   Help .btn.btn-success.btn-big#trigger-pair-modal i.fa.fa-user-plus |   Pair .btn.btn-success.btn-big#trigger-issue-modal i.fa.fa-bug |   Bug .button-spacer script. var userLoggedIn = true; else a.btn.btn-lg.signup-btn.btn-block(href='/login') Sign in so you can save your progress script. var userLoggedIn = false; br script(type="text/javascript"). var challenge_Id = !{JSON.stringify(challengeId)}; var challenge_Name = !{JSON.stringify(name)}; var started = Math.floor(Date.now()); var challengeType = !{JSON.stringify(challengeType)}; var controlEnterHandler = function (e) { $('body').unbind('keypress'); if (e.ctrlKey && e.keyCode == 13) { $('#complete-zipline-or-basejump-dialog').modal('show'); } else { $('body').bind('keypress', controlEnterHandler); } }; var modalControlEnterHandler = function (e) { $('#complete-zipline-or-basejump-dialog').unbind('keypress'); if (e.ctrlKey && e.keyCode == 13) { $('#next-courseware-button').click(); } else { $('#complete-zipline-or-basejump-dialog').on('keypress', modalControlEnterHandler); } }; #complete-zipline-or-basejump-dialog.modal(tabindex='-1') .modal-dialog.animated.zoomIn.fast-animation .modal-content .modal-header.challenge-list-header= compliment a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') × .modal-body(ng-controller="pairedWithController") .text-center .animated.zoomInDown.delay-half span.completion-icon.ion-checkmark-circled.text-primary if (user) form.form-horizontal(novalidate='novalidate', name='completedWithForm') .form-group.text-center .col-xs-10.col-xs-offset-1.col-sm-8.col-sm-offset-2.col-md-8.col-md-offset-2.animated.fadeIn // extra field to distract password tools like lastpass from injecting css into our username field input.form-control(ng-show="false") if (challengeType === 3) input.form-control#public-url(type='url', name="solutionUrl", placeholder="http://codepen.io/your-pen-here", autofocus, required, ng-minlength="10", ng-model="deploymentUrl") else input.form-control#public-url(type='url', name="solutionUrl", placeholder="http://yourapp.com", autofocus, required, ng-minlength="10", ng-model="deploymentUrl") input.form-control#github-url(name="githubUrl", placeholder="http://github.com/camper/project", ng-model="githubUrl") input.form-control#completed-with(name="existingUser", ng-minlength placeholder="If you paired, enter your pair's username here", existing-username='', ng-model="existingUser") .col-xs-10.col-xs-offset-1.col-sm-8.col-sm-offset-2.col-md-8.col-md-offset-2(ng-cloak, ng-show="completedWithForm.$error.exists && !completedWithForm.existingUser.$pristine && existingUser.length > 0") alert(type='danger') span.ion-close-circled | Username not found if (user) a.animated.fadeIn.btn.btn-lg.btn-primary.btn-block#next-courseware-button(name='_csrf', value=_csrf, ng-disabled='completedWithForm.$invalid') Go to my next challenge (ctrl + enter) script. $('#complete-zipline-or-basejump-dialog').on('keypress', modalControlEnterHandler); else a.animated.fadeIn.btn.btn-lg.signup-btn.btn-block(href='/login') Sign in so you can save your progress script. $('body').on('keypress', controlEnterHandler); include ../partials/challenge-modals