This commit is contained in:
Quincy Larson
2016-01-10 23:49:09 -06:00
committed by Berkeley Martinez
parent 39e7e6e33b
commit d5a2c6e4b8

View File

@ -1,199 +1,34 @@
extends ../layout
extends ../layout-wide
block content
h1.text-center Challenge Map
hr
if (Math.random() > 0.999)
img.img-responsive.img-center.border-radius-5(src='https://s3.amazonaws.com/freecodecamp/wide-social-banner-dino.png')
audio(autoplay src='https://s3.amazonaws.com/freecodecamp/t-rex-roar.mp3')
else
img.img-responsive.img-center.border-radius-5(src='https://s3.amazonaws.com/freecodecamp/wide-social-banner.png')
.col-xs-12.col-md-8.col-md-offset-2
h2
table.population-table.img-center
tr
td Established: 
td
span.text-primary #{daysRunning} 
| days ago
tr
td Population:   
td
span.text-primary #{camperCount} 
| campers
tr
td Completed:   
td
span.text-primary #{globalCompletedCount} 
| challenges
.spacer
if (user && user.progressTimestamps.length > 100)
.row
#map-notice.col-xs-12.col-md-8.col-md-offset-2.hidden
h2.text-center Reddit or not, here we come
img.thumbnail.img-center.img-responsive(src="http://i.imgur.com/lyd0bfM.jpg")
h4.text-center Come ask questions and share your thoughts with our entire open source community on our subreddit.
a.button.btn.btn-block.btn-primary(href="https://reddit.com/r/freecodecamp" target="_blank") Check it out
.button-spacer
.text-center
a#hide-map-notice-button(href='#') Hide this forever
.spacer
ul
for superBlock in superBlocks
h2= superBlock.name
- var i = 0
for challengeBlock in superBlock.blocks
- i++
.row
if (user)
if (challengeBlock.completed === 100)
.hidden-xs.col-sm-3.col-md-2.text-primary.ion-checkmark-circled.padded-ionic-icon.text-center.map-p.negative-10
.col-xs-1.col-sm-1.col-md-1.map-row-numbers.negative-5
span.map-p.negative-10 #{i}.
.col-xs-11.col-sm-8.col-md-9
li.map-p.faded.negative-10
a(href='#' + challengeBlock.dashedName)= challengeBlock.name
if challengeBlock.markNew
span.text-info.small    
strong
em NEW
if challengeBlock.isComingSoon
span.text-info.small    
strong
em Coming Soon
else
.hidden-xs.col-sm-3.col-md-2
.progress.progress-bar-padding.text-center.thin-progress-bar
.progress-bar(role='progressbar', aria-valuenow=(challengeBlock.completed), aria-valuemin='0', aria-valuemax='100', style='width: ' + challengeBlock.completed + '%;')
.col-xs-1.col-sm-1.col-md-1.map-row-numbers.negative-5
span.map-p #{i}.
.col-xs-11.col-sm-8.col-md-9
li.map-p.negative-10
a(href='#' + challengeBlock.dashedName)= challengeBlock.name
if challengeBlock.markNew
span.text-info.small    
strong
em NEW
if challengeBlock.isComingSoon
span.text-info.small    
strong
em Coming Soon
else
.hidden-xs.col-sm-3.col-md-2
.col-xs-1.col-sm-1.col-md-1.map-row-numbers
span.map-p.negative-10 #{i}.
.col-xs-10.col-sm-8.col-md-9
span.map-p.negative-10
a(href='#' + challengeBlock.dashedName)= challengeBlock.name
if challengeBlock.markNew
span.text-info.small    
strong
em NEW
if challengeBlock.isComingSoon
span.text-info.small    
strong
em Coming Soon
h2 Full Stack Development Certification
.row
.hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
.col-xs-12.col-sm-9.col-md-10
li.map-p.negative-10 Greenfield Nonprofit Project 1
.hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
.col-xs-12.col-sm-9.col-md-10
li.map-p.negative-10 Greenfield Nonprofit Project 2
.hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
.col-xs-12.col-sm-9.col-md-10
li.map-p.negative-10 Legacy Nonprofit Project 1
.hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
.col-xs-12.col-sm-9.col-md-10
li.map-p.negative-10 Legacy Nonprofit Project 2
.hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
.col-xs-12.col-sm-9.col-md-10
li.map-p.negative-10 Claim your Full Stack Development Certification
h2 Coding Interview Preparation
.row
.hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
.col-xs-12.col-sm-9.col-md-10
li.map-p.negative-10 Whiteboard Coding Interview Training
.hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
.col-xs-12.col-sm-9.col-md-10
li.map-p.negative-10 Critical Thinking Interview Training
.hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
.col-xs-12.col-sm-9.col-md-10
li.map-p.negative-10 Mock Interview 1
.hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
.col-xs-12.col-sm-9.col-md-10
li.map-p.negative-10 Mock Interview 2
.hidden-xs.col-sm-3.col-md-2.ion-locked.padded-ionic-icon.text-center.map-p.negative-10
.col-xs-12.col-sm-9.col-md-10
li.map-p.negative-10 Mock Interview 3
hr
for superBlock, index in superBlocks
for challengeBlock in superBlock.blocks
.row
a(href='#' name=challengeBlock.dashedName)
.spacer.negative-55
.row
.hidden-xs.col-sm-3.col-md-2
h3.text-primary.text-right.nowrap
i.fa.fa-clock-o
= challengeBlock.time
.col-xs-12.col-sm-9.col-md-10
h3 #{challengeBlock.name}  
- var i = 0
.col-xs-12.col-sm-3.col-sm-offset-9
for superBlock, index in superBlocks
for challengeBlock in superBlock.blocks
h4.bold #{challengeBlock.name} (#{challengeBlock.time})
for challenge in challengeBlock.challenges
- i++
.row
if challenge.completed
.hidden-xs.col-sm-3.col-md-2.text-primary.ion-checkmark-circled.padded-ionic-icon.text-center.map-p.negative-10
.col-xs-1.col-sm-1.col-md-1.map-row-numbers
span.map-p.negative-10 #{i}.
.col-xs-10.col-sm-8.col-md-9
span.faded.map-p.negative-10
a(href="/challenges/#{challenge.dashedName}")
span.capitalize= challenge.type + ': '
span= challenge.title
span.sr-only= " Complete"
else
.hidden-xs.col-sm-3.col-md-2
span.negative-10
.col-xs-1.col-sm-1.col-md-1.map-row-numbers
span.map-p.negative-10 #{i}.
.col-xs-10.col-sm-8.col-md-9
span.map-p.negative-10
a(href="/challenges/#{challenge.dashedName}" class=challenge.isComingSoon ? 'disabled' : '')
span.capitalize= challenge.type + ': '
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
if (challengeBlock.completed === 100)
.button-spacer
.row
.col-xs-12.col-sm-8.col-md-6.col-sm-offset-3.col-md-offset-2.hidden
a.btn.btn-lg.btn-block.signup-btn.map-challenge-block-share Section complete. Share your code portfolio with your friends.
.hidden(id="#{challengeBlock.name}")
if (index < superBlocks.length - 1)
.spacer
hr
.spacer
if challenge.completed
p.text-primary.ion-checkmark-circled.padded-ionic-icon.negative-15(name="#{challenge.dashedName}") &nbsp;
a(href="/challenges/#{challenge.dashedName}")
= challenge.title
span.sr-only= " Complete"
else
p.negative-15
a(name="#{challenge.dashedName}" href="/challenges/#{challenge.dashedName}" class=challenge.isComingSoon ? 'disabled' : '')
span= challenge.title
span.sr-only= " Incomplete"
if challenge.markNew
span.text-success.small &thinsp; &thinsp;
strong
em New
if challengeBlock.isComingSoon
span.text-success.small &thinsp; &thinsp;
strong
em Coming Soon
if challenge.type === "bonfire"
span.text-info.small &thinsp; &thinsp;
strong
em Required
if (index < superBlocks.length)
hr
script.
var username = !{JSON.stringify(user && user.username || '')};