Refactor(views): remove old challenge/map jade files
This commit is contained in:
@ -1,101 +0,0 @@
|
||||
extends ../layout-wide
|
||||
block content
|
||||
link(rel='stylesheet', href='/bower_components/CodeMirror/lib/codemirror.css')
|
||||
link(rel='stylesheet', href='/bower_components/CodeMirror/addon/lint/lint.css')
|
||||
link(rel='stylesheet', href='/bower_components/CodeMirror/theme/monokai.css')
|
||||
link(rel='stylesheet', href='/css/ubuntu.css')
|
||||
include ../partials/flyer
|
||||
.row
|
||||
.col-md-4
|
||||
.scroll-locker(id = "scroll-locker")
|
||||
.innerMarginFix(style=' width: 99%')
|
||||
#testCreatePanel
|
||||
h4.text-center.challenge-instructions-title= name
|
||||
if (isCompleted)
|
||||
|
|
||||
i.ion-checkmark-circled.text-primary(title="Completed")
|
||||
hr
|
||||
.row
|
||||
.col-xs-12
|
||||
.challenge-instructions
|
||||
for sentence in description
|
||||
if (/blockquote|h4|table/.test(sentence))
|
||||
!=sentence
|
||||
else
|
||||
p.wrappable!= sentence
|
||||
if (MDNlinks.length)
|
||||
#MDN-links
|
||||
p Here are some helpful links:
|
||||
for link, index in MDNlinks
|
||||
ul: li: a(href=""+link, target="_blank") !{MDNkeys[index]}
|
||||
.button-spacer
|
||||
if (user)
|
||||
button.btn.btn-primary.btn-block.btn-lg#submitButton
|
||||
| Run tests (ctrl + enter)
|
||||
.button-spacer
|
||||
.btn-group.input-group.btn-group-justified
|
||||
.btn-group
|
||||
button.btn.btn-primary.btn-primary-ghost.btn-lg#trigger-reset-modal
|
||||
| Reset
|
||||
.btn-group
|
||||
button.btn.btn-primary.btn-primary-ghost.btn-lg#challenge-help-btn
|
||||
| Help
|
||||
.btn-group
|
||||
button.btn.btn-primary.btn-primary-ghost.btn-lg#trigger-issue-modal
|
||||
| Bug
|
||||
if (!user)
|
||||
.button-spacer
|
||||
a.btn.signup-btn.btn-block.btn-block(href='/login') Sign in so you can save your progress
|
||||
script.
|
||||
var userLoggedIn = false;
|
||||
.button-spacer
|
||||
form.code
|
||||
.form-group.codeMirrorView
|
||||
textarea#codeOutput(style='display: none;')
|
||||
br
|
||||
#testSuite
|
||||
br
|
||||
|
||||
.col-md-8
|
||||
.editorScrollDiv(style = "overflow-y: auto; overflow-x: hidden;")
|
||||
#mainEditorPanel
|
||||
form.code
|
||||
.form-group.codeMirrorView
|
||||
textarea#codeEditor(autofocus=true, style='display: none;')
|
||||
|
||||
|
||||
#complete-courseware-dialog.modal(tabindex='-1')
|
||||
.modal-dialog.animated.fadeIn.fast-animation
|
||||
.modal-content
|
||||
.modal-header.challenge-list-header= compliment
|
||||
a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') ×
|
||||
.modal-body
|
||||
.text-center
|
||||
#checkmark-container.row
|
||||
#challenge-checkmark.animated.zoomInDown.delay-half
|
||||
span.completion-icon.ion-checkmark-circled.text-primary
|
||||
.spacer
|
||||
.row
|
||||
if (user)
|
||||
#submit-challenge.animated.fadeIn.btn.btn-lg.btn-primary.btn-block Submit and go to my next challenge (ctrl + enter)
|
||||
else
|
||||
a#next-challenge.btn.btn-lg.btn-primary.btn-block(href="/challenges/next-challenge?id="+id) Go to my next challenge (ctrl + enter)
|
||||
include ../partials/challenge-modals
|
||||
script(type="text/javascript").
|
||||
var common = window.common = window.common || { init: [] };
|
||||
|
||||
common.tests = !{JSON.stringify(tests)};
|
||||
common.head = !{JSON.stringify(head)};
|
||||
common.tail = !{JSON.stringify(tail)};
|
||||
|
||||
common.challengeId = !{JSON.stringify(id)};
|
||||
common.challengeName = !{JSON.stringify(name)};
|
||||
common.challengeSeed = !{JSON.stringify(challengeSeed)};
|
||||
common.challengeType = !{JSON.stringify(challengeType)};
|
||||
common.dashedName = !{JSON.stringify(dashedName)};
|
||||
common.isCompleted = !{JSON.stringify(isCompleted)};
|
||||
common.gaName = !{JSON.stringify(gaName)};
|
||||
|
||||
common.username = !{JSON.stringify(user && user.username || '')};
|
||||
|
||||
include ../partials/challenge-footer
|
@ -1,98 +0,0 @@
|
||||
extends ../layout-wide
|
||||
block content
|
||||
link(rel='stylesheet', href='/bower_components/CodeMirror/lib/codemirror.css')
|
||||
link(rel='stylesheet', href='/bower_components/CodeMirror/addon/lint/lint.css')
|
||||
link(rel='stylesheet', href='/bower_components/CodeMirror/theme/monokai.css')
|
||||
link(rel='stylesheet', href='/css/ubuntu.css')
|
||||
include ../partials/flyer
|
||||
.row
|
||||
.col-md-3.col-lg-3
|
||||
.scroll-locker(id = "scroll-locker")
|
||||
.innerMarginFix(style = "width: 99%;")
|
||||
.row
|
||||
.col-xs-12
|
||||
h4.text-center.challenge-instructions-title= name
|
||||
if (isCompleted)
|
||||
|
|
||||
i.ion-checkmark-circled.text-primary(title="Completed")
|
||||
hr
|
||||
.challenge-instructions
|
||||
for sentence in description
|
||||
if (/\<blockquote|\<h4|\<table/.test(sentence))
|
||||
!=sentence
|
||||
else
|
||||
p.wrappable!= sentence
|
||||
.negative-bottom-margin-30
|
||||
.button-spacer
|
||||
button.btn-big.btn.btn-primary.btn-block#submitButton
|
||||
| Run tests (ctrl + enter)
|
||||
.button-spacer
|
||||
.btn-group.btn-group-justified
|
||||
.btn-group
|
||||
button.btn.btn-primary.btn-primary-ghost.btn-lg#trigger-reset-modal Reset
|
||||
.btn-group
|
||||
button.btn.btn-primary.btn-primary-ghost.btn-lg#challenge-help-btn Help
|
||||
.btn-group
|
||||
button.btn.btn-primary.btn-primary-ghost.btn-lg#trigger-issue-modal Bug
|
||||
script.
|
||||
var userLoggedIn = true;
|
||||
if (!user)
|
||||
.button-spacer
|
||||
a.btn.signup-btn.btn-block.btn-block(href='/signin') Sign in so you can save your progress
|
||||
script.
|
||||
var userLoggedIn = false;
|
||||
.button-spacer
|
||||
#testSuite
|
||||
br
|
||||
.col-md-5.col-lg-6
|
||||
.editorScrollDiv(style = "overflow-y: auto; overflow-x: hidden;")
|
||||
#mainEditorPanel
|
||||
form.code
|
||||
.codeMirrorView
|
||||
textarea#codeEditor(autofocus=true, style='display: none;')
|
||||
.col-md-4.col-lg-3
|
||||
.hidden-xs.hidden-sm
|
||||
img.iphone-position.iframe-scroll(src="https://s3.amazonaws.com/freecodecamp/iphone6-frame.png", style = "z-index: -2;")
|
||||
iframe.iphone.iframe-scroll#preview
|
||||
.spacer
|
||||
#complete-courseware-dialog.modal(tabindex='-1')
|
||||
.modal-dialog.animated.fadeIn.fast-animation
|
||||
.modal-content
|
||||
.modal-header.challenge-list-header
|
||||
= compliment
|
||||
a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') ×
|
||||
.modal-body
|
||||
.text-center
|
||||
#checkmark-container.row
|
||||
#challenge-checkmark.animated.zoomInDown.delay-half
|
||||
span.completion-icon.ion-checkmark-circled.text-primary
|
||||
.spacer
|
||||
if(user)
|
||||
button#submit-challenge.animated.fadeIn.btn.btn-lg.btn-primary.btn-block Submit and go to my next challenge (ctrl + enter)
|
||||
else
|
||||
a#next-challenge.btn.btn-lg.btn-primary.btn-block(href="/challenges/next-challenge?id="+id) Go to my next challenge (ctrl + enter)
|
||||
include ../partials/challenge-modals
|
||||
script(type="text/javascript").
|
||||
$('#next-courseware-button').attr('disabled', 'disabled');
|
||||
var common = window.common || { init: [] };
|
||||
|
||||
common.tests = !{JSON.stringify(tests)};
|
||||
common.head = !{JSON.stringify(head)};
|
||||
common.tail = !{JSON.stringify(tail)};
|
||||
|
||||
common.challengeId = !{JSON.stringify(id)};
|
||||
common.challengeName = !{JSON.stringify(name)};
|
||||
common.challengeSeed = !{JSON.stringify(challengeSeed)};
|
||||
common.challengeType = !{JSON.stringify(challengeType)};
|
||||
common.dashedName = !{JSON.stringify(dashedName)};
|
||||
common.isCompleted = !{JSON.stringify(isCompleted)};
|
||||
common.gaName = !{JSON.stringify(gaName)};
|
||||
|
||||
common.username = !{JSON.stringify(user && user.username || '')};
|
||||
|
||||
common.init.push(function() {
|
||||
common.editor.setOption('lint', false);
|
||||
common.editor.setOption('mode', 'text/html');
|
||||
});
|
||||
|
||||
include ../partials/challenge-footer
|
@ -1,103 +0,0 @@
|
||||
extends ../layout-wide
|
||||
block content
|
||||
link(rel='stylesheet', href='/bower_components/CodeMirror/lib/codemirror.css')
|
||||
link(rel='stylesheet', href='/bower_components/CodeMirror/addon/lint/lint.css')
|
||||
link(rel='stylesheet', href='/bower_components/CodeMirror/theme/monokai.css')
|
||||
link(rel='stylesheet', href='/css/ubuntu.css')
|
||||
include ../partials/flyer
|
||||
.row
|
||||
.col-md-4
|
||||
.scroll-locker(id = "scroll-locker")
|
||||
.innerMarginFix(style = "width: 99%;")
|
||||
#testCreatePanel
|
||||
h4.text-center.challenge-instructions-title= name
|
||||
if (isCompleted)
|
||||
|
|
||||
i.ion-checkmark-circled.text-primary(title="Completed")
|
||||
hr
|
||||
.row
|
||||
.col-xs-12
|
||||
.challenge-instructions
|
||||
for sentence in description
|
||||
if (/blockquote|\<ol|h4|\<table/.test(sentence))
|
||||
!=sentence
|
||||
else
|
||||
p.wrappable!= sentence
|
||||
if (MDNlinks.length)
|
||||
.negative-bottom-margin-30
|
||||
#MDN-links
|
||||
p Here are some helpful links:
|
||||
for link, index in MDNlinks
|
||||
ul: li: a(href="" + link, target="_blank") !{MDNkeys[index]}
|
||||
.button-spacer
|
||||
if (user)
|
||||
form.form-horizontal(novalidate='novalidate', name='completedWithForm')
|
||||
.form-group.text-center
|
||||
.col-xs-12
|
||||
// extra field to distract password tools like lastpass from injecting css into our username field
|
||||
button.btn.btn-primary.btn-big.btn-block#submitButton Run tests (ctrl + enter)
|
||||
.button-spacer
|
||||
.btn-group.input-group.btn-group-justified
|
||||
.btn-group
|
||||
button.btn.btn-primary.btn-lg#trigger-reset-modal Reset
|
||||
.btn-group
|
||||
button.btn.btn-primary.btn-lg#challenge-help-btn Help
|
||||
.btn-group
|
||||
button.btn.btn-primary.btn-lg#trigger-issue-modal Bug
|
||||
if (!user)
|
||||
.button-spacer
|
||||
a.btn.signup-btn.btn-block.btn-block(href='/signin') Sign in so you can save your progress
|
||||
script.
|
||||
var userLoggedIn = false;
|
||||
.button-spacer
|
||||
form.code
|
||||
.form-group.codeMirrorView
|
||||
textarea#codeOutput(style='display: none;')
|
||||
br
|
||||
#testSuite
|
||||
br
|
||||
.col-md-8
|
||||
.editorScrollDiv(style = "overflow-y: auto; overflow-x: hidden;")
|
||||
#mainEditorPanel
|
||||
form.code
|
||||
.codeMirrorView
|
||||
textarea#codeEditor(autofocus=true, style='display: none;')
|
||||
#complete-courseware-dialog.modal(tabindex='-1')
|
||||
.modal-dialog.animated.fadeIn.fast-animation
|
||||
.modal-content
|
||||
.modal-header.challenge-list-header= compliment
|
||||
a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') ×
|
||||
.modal-body
|
||||
.text-center
|
||||
#checkmark-container.row
|
||||
#challenge-checkmark.animated.zoomInDown.delay-half
|
||||
span.completion-icon.ion-checkmark-circled.text-primary
|
||||
.spacer
|
||||
.row
|
||||
if (user)
|
||||
button#submit-challenge.animated.fadeIn.btn.btn-lg.btn-primary.btn-block Submit and go to my next challenge (ctrl + enter)
|
||||
else
|
||||
a#next-challenge.animated.fadeIn.btn.btn-lg.btn-primary.btn-block(href="/challenges/next-challenge?id="+id) Go to my next challenge (ctrl + enter)
|
||||
include ../partials/challenge-modals
|
||||
script(type="text/javascript").
|
||||
var common = window.common = { init: [] };
|
||||
|
||||
common.tests = !{JSON.stringify(tests)};
|
||||
common.head = !{JSON.stringify(head)};
|
||||
common.tail = !{JSON.stringify(tail)};
|
||||
|
||||
common.challengeId = !{JSON.stringify(id)};
|
||||
common.challengeName = !{JSON.stringify(name)};
|
||||
common.challengeSeed = !{JSON.stringify(challengeSeed)};
|
||||
common.challengeType = !{JSON.stringify(challengeType)};
|
||||
common.dashedName = !{JSON.stringify(dashedName)};
|
||||
common.isCompleted = !{JSON.stringify(isCompleted)};
|
||||
common.gaName = !{JSON.stringify(gaName)};
|
||||
|
||||
common.username = !{JSON.stringify(user && user.username || '')};
|
||||
|
||||
include ../partials/challenge-footer
|
||||
script.
|
||||
common.init.push(function() {
|
||||
common.editor.setOption('mode', 'javascript');
|
||||
});
|
@ -1,61 +0,0 @@
|
||||
extends ../layout-wide
|
||||
block content
|
||||
include ../partials/flyer
|
||||
.row
|
||||
.col-md-8.col-md-offset-2
|
||||
for step, index in description
|
||||
.challenge-step(class=index !== 0 ? 'hidden': '')
|
||||
a(href=step[0] data-lightbox='img-enlarge')
|
||||
img.gif-block.img-center.img-responsive(src='#{step[0]}' alt='#{step[1]}')
|
||||
.row
|
||||
.spacer
|
||||
.col-xs-12.col-sm-10.col-sm-offset-1.col-md-8.col-md-offset-2
|
||||
p.challenge-step-description!= step[2]
|
||||
.spacer
|
||||
.challenge-button-block
|
||||
if step[3] == '#'
|
||||
a.btn.btn-block.btn-primary.challenge-step-btn-action.btn-lg(id='#{index}' href='#{step[3]}' target='_blank') Confirm
|
||||
.button-spacer
|
||||
else if step[3]
|
||||
a.btn.btn-block.btn-primary.challenge-step-btn-action.btn-lg(id='#{index}' href='#{step[3]}' target='_blank') Open link in new tab (this unlocks the next step)
|
||||
.button-spacer
|
||||
if index === 0
|
||||
.col-sm-4.hidden-xs
|
||||
else
|
||||
button.btn.btn-primary.btn-primary-ghost.col-sm-4.col-xs-12.challenge-step-btn-prev.btn-lg(id='#{index - 1}') Go to my previous step
|
||||
.challenge-step-counter.large-p.col-sm-4.col-xs-12.text-center (#{index + 1} / #{description.length})
|
||||
if index + 1 === description.length
|
||||
button.btn.btn-primary.col-sm-4.col-xs-12.challenge-step-btn-finish.btn-lg(id='last' class=step[3] && !isCompleted ? 'disabled' : '') Finish challenge
|
||||
else
|
||||
button.btn.btn-primary.col-sm-4.col-xs-12.challenge-step-btn-next.btn-lg(id='#{index}' class=step[3] && !isCompleted ? 'disabled' : '') Go to my next step
|
||||
.clearfix
|
||||
.spacer
|
||||
#challenge-step-modal.modal(tabindex='-1')
|
||||
.modal-dialog.animated.fadeIn.fast-animation
|
||||
.modal-content
|
||||
.modal-header.challenge-list-header= compliment
|
||||
a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') ×
|
||||
.modal-body
|
||||
.text-center
|
||||
#checkmark-container.row
|
||||
#challenge-checkmark.animated.zoomInDown.delay-half
|
||||
span.completion-icon.ion-checkmark-circled.text-primary
|
||||
.spacer
|
||||
.row
|
||||
if (user)
|
||||
#challenge-step-btn-submit.animated.fadeIn.btn.btn-lg.btn-primary.btn-block Submit and go to my next challenge
|
||||
else
|
||||
a.btn.btn-lg.btn-primary.btn-block(href='/challenges/next-challenge?id=' + id) Go to my next challenge
|
||||
script.
|
||||
var common = window.common || { init: [] };
|
||||
|
||||
common.challengeId = !{JSON.stringify(id)};
|
||||
common.challengeName = !{JSON.stringify(name)};
|
||||
common.challengeType = !{JSON.stringify(challengeType)};
|
||||
common.dashedName = !{JSON.stringify(dashedName || '')};
|
||||
common.gaName = !{JSON.stringify(gaName)};
|
||||
common.isHonest = !{JSON.stringify(isHonest || false)};
|
||||
common.isFrontEndCert = !{JSON.stringify(isFrontEndCert || false)};
|
||||
common.isFullStackCert = !{JSON.stringify(isFullStackCert || false)};
|
||||
common.challengeSeed = !{JSON.stringify(challengeSeed || [])};
|
||||
include ../partials/challenge-footer
|
@ -1,94 +0,0 @@
|
||||
extends ../layout-wide
|
||||
block content
|
||||
include ../partials/flyer
|
||||
.row
|
||||
.col-xs-12.col-sm-12.col-md-4
|
||||
h4.text-center.challenge-instructions-title= name
|
||||
if (isCompleted)
|
||||
|
|
||||
i.ion-checkmark-circled.text-primary(title="Completed")
|
||||
hr
|
||||
ol
|
||||
for step, index in description
|
||||
.row.checklist-element(id="#{dashedName + index}")
|
||||
.col-xs-2.col-sm-1.col-md-2.padded-ionic-icon.text-right
|
||||
input(type='checkbox' class='challenge-list-checkbox')
|
||||
.col-xs-10.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='//www.youtube.com/embed/#{video}?rel=0&showinfo=0')
|
||||
.spacer
|
||||
if (user)
|
||||
a.btn.btn-primary.btn-big.btn-block#completed-courseware-editorless I've completed this challenge (ctrl + enter)
|
||||
else
|
||||
a.btn.btn-big.btn-primary.btn-block(href='/challenges/next-challenge?id=' + id) I've completed this challenge (ctrl + enter)
|
||||
script.
|
||||
var userLoggedIn = true;
|
||||
.button-spacer
|
||||
.btn-group.input-group.btn-group-justified
|
||||
.btn.btn-primary.btn-big#challenge-help-btn Get help
|
||||
.btn.btn-primary.btn-big#trigger-issue-modal Report a bug
|
||||
if (!user)
|
||||
.button-spacer
|
||||
a.btn.btn-big.signup-btn.btn-block(href='/signin') Sign in so you can save your progress
|
||||
script.
|
||||
var userLoggedIn = false;
|
||||
br
|
||||
|
||||
script(type="text/javascript").
|
||||
|
||||
#complete-courseware-editorless-dialog.modal(tabindex='-1')
|
||||
.modal-dialog.animated.fadeIn.fast-animation
|
||||
.modal-content
|
||||
.modal-header.challenge-list-header= compliment
|
||||
a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') ×
|
||||
.modal-body
|
||||
.text-center
|
||||
.animated.zoomInDown
|
||||
span.completion-icon.ion-checkmark-circled.text-primary
|
||||
if (user)
|
||||
a.btn.btn-lg.btn-primary.btn-block#next-courseware-button(name='_csrf', value=_csrf) I've completed this challenge (ctrl + enter)
|
||||
else
|
||||
a.animated.fadeIn.btn.btn-lg.btn-primary.btn-block(href='/challenges/next-challenge?id=' + id) I've completed this challenge (ctrl + enter)
|
||||
|
||||
include ../partials/challenge-modals
|
||||
script.
|
||||
var common = window.common || { init: [] };
|
||||
|
||||
common.challengeId = !{JSON.stringify(id)};
|
||||
common.challengeName = !{JSON.stringify(name)};
|
||||
common.challengeType = !{JSON.stringify(challengeType)};
|
||||
common.dashedName = !{JSON.stringify(dashedName)};
|
||||
common.gaName = !{JSON.stringify(gaName)};
|
||||
common.init.push(function($) {
|
||||
function controlEnterHandler(e) {
|
||||
if (
|
||||
e.keyCode === 13 &&
|
||||
(e.ctrlKey || e.metaKey)
|
||||
) {
|
||||
$('body').unbind('keydown');
|
||||
$('#complete-courseware-editorless-dialog').modal('show');
|
||||
}
|
||||
};
|
||||
|
||||
function modalControlEnterHandler(e) {
|
||||
if (
|
||||
e.keyCode === 13 &&
|
||||
(e.ctrlKey || e.metaKey)
|
||||
) {
|
||||
$('#complete-courseware-editorless-dialog').unbind('keydown');
|
||||
$('#next-courseware-button').click();
|
||||
}
|
||||
};
|
||||
if (!{JSON.stringify(user && user.username ? true : false)}) {
|
||||
$('#complete-courseware-editorless-dialog').bind('keydown', modalControlEnterHandler);
|
||||
}
|
||||
$('body').bind('keydown', controlEnterHandler);
|
||||
|
||||
$('#completed-courseware-editorless').on('click', function() {
|
||||
$('#complete-courseware-editorless-dialog').modal('show');
|
||||
});
|
||||
});
|
||||
|
||||
include ../partials/challenge-footer
|
@ -1,110 +0,0 @@
|
||||
extends ../layout-wide
|
||||
block content
|
||||
include ../partials/flyer
|
||||
.row
|
||||
.col-md-4
|
||||
h4.text-center.challenge-instructions-title= name
|
||||
if (isCompleted)
|
||||
|
|
||||
i.ion-checkmark-circled.text-primary(title="Completed")
|
||||
hr
|
||||
ol
|
||||
for step, index in description
|
||||
.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='//www.youtube.com/embed/#{video}?rel=0&showinfo=0')
|
||||
br
|
||||
if (user)
|
||||
a.btn.btn-primary.btn-big.btn-block#completed-zipline-or-basejump I've completed this challenge (ctrl + enter)
|
||||
script.
|
||||
var userLoggedIn = true;
|
||||
else
|
||||
a.btn.btn-big.btn-primary.btn-block(href='/challenges/next-challenge?id=' + id) Go to my next challenge (ctrl + enter)
|
||||
.button-spacer
|
||||
.btn-group.input-group.btn-group-justified
|
||||
.btn.btn-primary.btn-primary-ghost.btn-big#challenge-help-btn Help
|
||||
.btn.btn-primary.btn-primary-ghost.btn-big#trigger-issue-modal Bug
|
||||
if (!user)
|
||||
.button-spacer
|
||||
a.btn.btn-big.signup-btn.btn-block(href='/signin') Sign in so you can save your progress
|
||||
script.
|
||||
var userLoggedIn = false;
|
||||
br
|
||||
script(type="text/javascript").
|
||||
|
||||
#complete-zipline-or-basejump-dialog.modal(tabindex='-1')
|
||||
.modal-dialog.animated.fadeIn.fast-animation
|
||||
.modal-content
|
||||
.modal-header.challenge-list-header= compliment
|
||||
a.close.closing-x(href='#', data-dismiss='modal', aria-hidden='true') ×
|
||||
.modal-body
|
||||
.text-center
|
||||
.animated.zoomInDown
|
||||
span.completion-icon.ion-checkmark-circled.text-primary
|
||||
if (user)
|
||||
form.form-horizontal(name='completedWithForm', id='basejump-or-zipline-submit-form')
|
||||
.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
|
||||
// extra field to distract password tools like lastpass from injecting css into our username field
|
||||
input.form-control.hidden
|
||||
if (challengeType === "3")
|
||||
input.form-control#public-url(type="url", name="solutionUrl", placeholder="http://codepen.io/your-pen-here", autofocus, required)
|
||||
else
|
||||
input.form-control#public-url(type="url", name="solutionUrl", placeholder="http://yourapp.com", autofocus, required)
|
||||
input.form-control#github-url(name="githubUrl", placeholder="http://github.com/camper/project")
|
||||
|
||||
if (user)
|
||||
a.btn.btn-lg.btn-primary.btn-block#next-courseware-button(name='_csrf', value=_csrf) Submit and go to my next challenge
|
||||
else
|
||||
a.btn.btn-lg.btn-primary.btn-block(href='/challenges/next-challenge?id=' + id) Go to my next challenge
|
||||
|
||||
include ../partials/challenge-modals
|
||||
script.
|
||||
var common = window.common || { init: [] };
|
||||
common.challengeId = !{JSON.stringify(id)};
|
||||
common.challengeName = !{JSON.stringify(name)};
|
||||
common.dashedName = !{JSON.stringify(dashedName)};
|
||||
common.gaName = !{JSON.stringify(gaName)};
|
||||
common.challengeType = !{JSON.stringify(challengeType)};
|
||||
|
||||
common.controlEnterHandler = function (e) {
|
||||
$('body').unbind('keydown');
|
||||
if (
|
||||
e.keyCode === 13 &&
|
||||
(e.metaKey || e.ctrlKey)
|
||||
) {
|
||||
$('#complete-zipline-or-basejump-dialog').modal('show');
|
||||
} else {
|
||||
$('body').bind('keydown', common.controlEnterHandler);
|
||||
}
|
||||
};
|
||||
|
||||
common.modalControlEnterHandler = function (e) {
|
||||
$('#complete-zipline-or-basejump-dialog').unbind('keydown');
|
||||
if (
|
||||
e.keyCode === 13 &&
|
||||
(e.metaKey || e.ctrlKey)
|
||||
) {
|
||||
$('#next-courseware-button').click();
|
||||
} else {
|
||||
$('#complete-zipline-or-basejump-dialog').on('keydown', common.modalControlEnterHandler);
|
||||
}
|
||||
};
|
||||
|
||||
common.init.push(function() {
|
||||
$('body').on('keydown', common.controlEnterHandler);
|
||||
|
||||
if (!!{ JSON.stringify(user ? true : false)}) {
|
||||
$('#complete-zipline-or-basejump-dialog').on('keydown', common.modalControlEnterHandler);
|
||||
}
|
||||
|
||||
$('#completed-zipline-or-basejump').on('click', function() {
|
||||
$('#complete-zipline-or-basejump-dialog').modal('show');
|
||||
});
|
||||
});
|
||||
include ../partials/challenge-footer
|
@ -1,127 +0,0 @@
|
||||
extends ../layout-wide
|
||||
block content
|
||||
.mapWrapper
|
||||
.text-center.map-fixed-header
|
||||
p Challenges required for certifications are marked with a *
|
||||
.row.map-buttons
|
||||
button.center-block.btn.btn-block.btn-primary.active#showAll Collapse all challenges
|
||||
.row.map-buttons
|
||||
.input-group
|
||||
input#map-filter.form-control(type="text" placeholder="Type a challenge name" autocomplete="off" value="")
|
||||
span.input-group-addon
|
||||
i.fa.fa-search
|
||||
hr
|
||||
include ../partials/flash
|
||||
#accordion.map-accordion
|
||||
#noneFound No results found. Happy Coding!
|
||||
for superBlock, index in superBlocks
|
||||
h2
|
||||
a(data-toggle='collapse', data-parent='#accordion', href='#collapse'+superBlock.name.split(' ').join('-'))
|
||||
span.no-link-underline
|
||||
i.fa.fa-caret-down
|
||||
| #{superBlock.name}
|
||||
div.margin-left-10(id = 'collapse'+superBlock.name.split(' ').join('-') class = "collapse in map-collapse no-transition certBlock")
|
||||
#nested
|
||||
for challengeBlock in superBlock.blocks
|
||||
h3
|
||||
a(data-toggle='collapse', data-parent='#nested', href='#nested-collapse'+challengeBlock.name.replace(/(\W)/gi, '').split(' ').join('-'))
|
||||
span.no-link-underline
|
||||
i.fa.fa-caret-down
|
||||
| #{challengeBlock.name}
|
||||
span.challengeBlockTime (#{challengeBlock.time})
|
||||
div.margin-left-10(id = "nested-collapse"+challengeBlock.name.replace(/\W/gi, '').split(' ').join('-') class = "collapse in map-collapse no-transition chapterBlock")
|
||||
for challenge in challengeBlock.challenges
|
||||
if challenge.completed
|
||||
p.challenge-title.faded.text-primary.ion-checkmark-circled.padded-ionic-icon.negative-15(name="#{challenge.dashedName}")
|
||||
a(href="#{challenge.url}" target='_parent')
|
||||
= challenge.title
|
||||
span.sr-only= " Complete"
|
||||
span.text-primary    
|
||||
strong *
|
||||
else if challenge.isRequired
|
||||
p.challenge-title.ion-ios-circle-outline.padded-ionic-icon.negative-15(name="#{challenge.dashedName}")
|
||||
a(name="#{challenge.dashedName}" target='_parent' href="#{challenge.url}" class=challenge.isComingSoon ? 'disabled' : '')
|
||||
span= challenge.title
|
||||
span.sr-only= " Incomplete"
|
||||
if challenge.markNew
|
||||
span.text-info.small    
|
||||
strong
|
||||
em New
|
||||
if challengeBlock.isComingSoon
|
||||
span.text-info.small    
|
||||
strong
|
||||
em Coming Soon
|
||||
span.text-primary    
|
||||
strong *
|
||||
else
|
||||
p.challenge-title.ion-ios-circle-outline.padded-ionic-icon.negative-15(name="#{challenge.dashedName}")
|
||||
a(name="#{challenge.dashedName}" target='_parent' href="#{challenge.url}" class=challenge.isComingSoon ? 'disabled' : '')
|
||||
span= challenge.title
|
||||
span.sr-only= " Incomplete"
|
||||
if challenge.markNew
|
||||
span.text-info.small    
|
||||
strong
|
||||
em New
|
||||
if challengeBlock.isComingSoon
|
||||
span.text-info.small    
|
||||
strong
|
||||
em Coming Soon
|
||||
h2
|
||||
a(data-toggle='collapse', data-parent='#accordion', href='#collapse-full-stack-development-certification')
|
||||
span.no-link-underline
|
||||
i.fa.fa-caret-down  
|
||||
| Full Stack Development Certification
|
||||
div.margin-left-10(id = 'collapse-full-stack-development-certification' class = "collapse in map-collapse no-transition certBlock")
|
||||
#nested
|
||||
h3
|
||||
a(data-toggle='collapse', data-parent='#nested', href='#nested-collapse-nonprofit-projects')
|
||||
span.no-link-underline
|
||||
i.fa.fa-caret-down  
|
||||
| Nonprofit Projects
|
||||
span.challengeBlockTime (800 hours)
|
||||
div.margin-left-10(id = "nested-collapse-nonprofit-projects" class = "collapse in map-collapse no-transition chapterBlock")
|
||||
.challengeBlockDescription To qualify for these nonprofit projects, you must first earn all three foundational certifications: Front End, Data Visualization, and Back End
|
||||
p.challenge-title.disabled.text-primary.ion-locked.padded-ionic-icon.negative-15(name="Greenfield Nonprofit Project #1") Greenfield Nonprofit Project #1
|
||||
span.text-primary    
|
||||
strong *
|
||||
p.challenge-title.disabled.text-primary.ion-locked.padded-ionic-icon.negative-15(name="Greenfield Nonprofit Project #2") Greenfield Nonprofit Project #2
|
||||
span.text-primary    
|
||||
strong *
|
||||
p.challenge-title.disabled.text-primary.ion-locked.padded-ionic-icon.negative-15(name="Legacy Code Nonprofit Project #1") Legacy Code Nonprofit Project #1
|
||||
span.text-primary    
|
||||
strong *
|
||||
p.challenge-title.disabled.text-primary.ion-locked.padded-ionic-icon.negative-15(name="Legacy Code Nonprofit Project #2") Legacy Code Nonprofit Project #2
|
||||
span.text-primary    
|
||||
strong *
|
||||
p.challenge-title.disabled.text-primary.ion-locked.padded-ionic-icon.negative-15(name="Claim your Full Stack Development Certification") Claim your Full Stack Development Certification
|
||||
h2
|
||||
a(data-toggle='collapse', data-parent='#accordion', href='#collapse-coding-interview-preparation')
|
||||
span.no-link-underline
|
||||
i.fa.fa-caret-down  
|
||||
| Coding Interview Preparation
|
||||
div.margin-left-10(id = 'collapse-coding-interview-preparation' class = "collapse in map-collapse no-transition certBlock")
|
||||
#nested
|
||||
h3
|
||||
a(data-toggle='collapse', data-parent='#nested', href='#nested-collapse-coding-interview-training')
|
||||
span.no-link-underline
|
||||
i.fa.fa-caret-down  
|
||||
| Coding Interview Training
|
||||
span.challengeBlockTime (70 hours)
|
||||
div.margin-left-10(id = "nested-collapse-coding-interview-training" class = "collapse in map-collapse no-transition chapterBlock")
|
||||
.challengeBlockDescription To qualify for this coding interview training, you must first earn all four certifications: Front End, Data Visualization, Back End, and Full Stack
|
||||
p.challenge-title.disabled.text-primary.ion-locked.padded-ionic-icon.negative-15(name="Soft Skill Training") Soft Skill Training
|
||||
p.challenge-title.disabled.text-primary.ion-locked.padded-ionic-icon.negative-15(name="Critical Thinking Training") Critical Thinking Training
|
||||
p.challenge-title.disabled.text-primary.ion-locked.padded-ionic-icon.negative-15(name="Whiteboard Coding Training") Whiteboard Coding Training
|
||||
h3
|
||||
a(data-toggle='collapse', data-parent='#nested', href='#nested-collapse-mock-interviews')
|
||||
span.no-link-underline
|
||||
i.fa.fa-caret-down  
|
||||
| Mock Interviews
|
||||
span.challengeBlockTime (10 hours)
|
||||
div.margin-left-10(id = "nested-collapse-mock-interviews" class = "collapse in map-collapse no-transition chapterBlock")
|
||||
.challengeBlockDescription To qualify for these mock interviews, you must first earn all four certifications: Front End, Data Visualization, Back End, and Full Stack
|
||||
p.challenge-title.disabled.text-primary.ion-locked.padded-ionic-icon.negative-15(name="Mock Interview #1") Mock Interview #1
|
||||
p.challenge-title.disabled.text-primary.ion-locked.padded-ionic-icon.negative-15(name="Mock Interview #2") Mock Interview #2
|
||||
p.challenge-title.disabled.text-primary.ion-locked.padded-ionic-icon.negative-15(name="Mock Interview #3") Mock Interview #3
|
||||
.spacer
|
||||
include ../partials/flash
|
Reference in New Issue
Block a user