Merge branch 'master' of https://github.com/FreeCodeCamp/freecodecamp
This commit is contained in:
@ -141,8 +141,8 @@ exports.getAccount = function(req, res) {
|
|||||||
}
|
}
|
||||||
res.render('account/profile', {
|
res.render('account/profile', {
|
||||||
title: 'Manage your Free Code Camp Account',
|
title: 'Manage your Free Code Camp Account',
|
||||||
cc: c,
|
c: c,
|
||||||
ch: req.user.challengesHash,
|
cc: req.user.challengesHash,
|
||||||
moment: moment
|
moment: moment
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -214,6 +214,7 @@
|
|||||||
width: 22px;
|
width: 22px;
|
||||||
height: 2px;
|
height: 2px;
|
||||||
border-radius: 1px;
|
border-radius: 1px;
|
||||||
|
background-color: #eeeeee !important;
|
||||||
}
|
}
|
||||||
.icon-bar + .icon-bar {
|
.icon-bar + .icon-bar {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
|
@ -359,10 +359,10 @@
|
|||||||
@navbar-default-border: darken(@navbar-default-bg, 6.5%);
|
@navbar-default-border: darken(@navbar-default-bg, 6.5%);
|
||||||
|
|
||||||
// Navbar links
|
// Navbar links
|
||||||
@navbar-default-link-color: #777;
|
@navbar-default-link-color: #eee;
|
||||||
@navbar-default-link-hover-color: #333;
|
@navbar-default-link-hover-color: #4a2b0f;
|
||||||
@navbar-default-link-hover-bg: transparent;
|
@navbar-default-link-hover-bg: #eee;
|
||||||
@navbar-default-link-active-color: #555;
|
@navbar-default-link-active-color: #eee;
|
||||||
@navbar-default-link-active-bg: darken(@navbar-default-bg, 6.5%);
|
@navbar-default-link-active-bg: darken(@navbar-default-bg, 6.5%);
|
||||||
@navbar-default-link-disabled-color: #ccc;
|
@navbar-default-link-disabled-color: #ccc;
|
||||||
@navbar-default-link-disabled-bg: transparent;
|
@navbar-default-link-disabled-bg: transparent;
|
||||||
|
@ -33,12 +33,13 @@ body {
|
|||||||
margin-bottom: 75px;
|
margin-bottom: 75px;
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
.footer {
|
||||||
position: absolute;
|
|
||||||
bottom: 0;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 45px;
|
margin-bottom: 0px;
|
||||||
line-height: 45px;
|
text-align: center;
|
||||||
|
padding:0px;
|
||||||
|
height: 200px;
|
||||||
|
background-color: #4a2b0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1, h2 {
|
h1, h2 {
|
||||||
@ -54,15 +55,6 @@ h1, h2, h3, h4, h5, h6, p, li {
|
|||||||
padding-bottom: 5px;
|
padding-bottom: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Navbar
|
|
||||||
// -------------------------
|
|
||||||
|
|
||||||
.navbar-nav img {
|
|
||||||
width: 30px;
|
|
||||||
height: 30px;
|
|
||||||
margin: -15px 15px -15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Alerts
|
// Alerts
|
||||||
// -------------------------
|
// -------------------------
|
||||||
|
|
||||||
@ -95,11 +87,6 @@ h1, h2, h3, h4, h5, h6, p, li {
|
|||||||
height: 100px;
|
height: 100px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-icon {
|
|
||||||
height: 40px;
|
|
||||||
margin-top: -10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**/
|
/**/
|
||||||
|
|
||||||
.btn-cta {
|
.btn-cta {
|
||||||
@ -237,8 +224,18 @@ ul {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.navbar-right {
|
||||||
|
@media (min-width: 767px) {
|
||||||
|
padding-right: 50px;
|
||||||
|
}
|
||||||
|
@media (max-width: 991px) and (min-width: 767px) {
|
||||||
|
position: absolute;
|
||||||
|
right:0;
|
||||||
|
margin-right: 10px;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
}
|
||||||
.navbar {
|
.navbar {
|
||||||
height: 40px;
|
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -250,10 +247,6 @@ ul {
|
|||||||
text-decoration: line-through;
|
text-decoration: line-through;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown-toggle {
|
|
||||||
margin-top: -5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-social {
|
.btn-social {
|
||||||
width: 250px;
|
width: 250px;
|
||||||
margin: auto;
|
margin: auto;
|
||||||
@ -269,10 +262,10 @@ ul {
|
|||||||
background-color: #4a2b0f;
|
background-color: #4a2b0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-default .navbar-nav > li > a {
|
.navbar-nav > li > a {
|
||||||
color: #fff;
|
color: #eee;
|
||||||
&:hover {
|
&:hover {
|
||||||
color: #ddd;
|
color: #4a2b0f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -295,7 +288,7 @@ ul {
|
|||||||
background-image: linear-gradient(#ffcc4d, #ffac33);
|
background-image: linear-gradient(#ffcc4d, #ffac33);
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffcc4d, endColorstr=#ffac33, GradientType=0)";
|
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffcc4d, endColorstr=#ffac33, GradientType=0)";
|
||||||
border-color: #f1a02a;
|
border-color: #f1a02a;
|
||||||
color: #292f33;
|
color: #292f33 !important;
|
||||||
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
|
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
|
||||||
}
|
}
|
||||||
.signup-btn:hover, .signup-btn:focus {
|
.signup-btn:hover, .signup-btn:focus {
|
||||||
@ -303,7 +296,7 @@ ul {
|
|||||||
background-image: linear-gradient(#ffcc4d, #e99110);
|
background-image: linear-gradient(#ffcc4d, #e99110);
|
||||||
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffcc4d, endColorstr=#e99110, GradientType=0)";
|
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffcc4d, endColorstr=#e99110, GradientType=0)";
|
||||||
border-color: #ec8b11;
|
border-color: #ec8b11;
|
||||||
color: #292f33;
|
color: #292f33 !important;
|
||||||
}
|
}
|
||||||
.signup-btn:active {
|
.signup-btn:active {
|
||||||
background-color: #f2a330;
|
background-color: #f2a330;
|
||||||
@ -354,12 +347,6 @@ thead {
|
|||||||
font-size: 150%;
|
font-size: 150%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hamburger {
|
|
||||||
background-color: #ddd;
|
|
||||||
text-align: left;
|
|
||||||
font-size: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nowrap {
|
.nowrap {
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
@ -368,3 +355,29 @@ thead {
|
|||||||
margin-top: 30px;
|
margin-top: 30px;
|
||||||
margin-bottom: 30px;
|
margin-bottom: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.profile-picture {
|
||||||
|
height: 50px;
|
||||||
|
width: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-nav a {
|
||||||
|
color: #eee;
|
||||||
|
font-size: 20px;
|
||||||
|
margin-top: -5px;
|
||||||
|
margin-bottom: -5px;
|
||||||
|
}
|
||||||
|
.navbar-toggle {
|
||||||
|
color: #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar-right {
|
||||||
|
background-color: #4a2b0f;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.signup-btn-nav {
|
||||||
|
margin-top:-2px !important;
|
||||||
|
padding-top: 10px !important;
|
||||||
|
padding-bottom: 10px !important;
|
||||||
|
}
|
@ -33,8 +33,13 @@ block content
|
|||||||
span.ion-edit
|
span.ion-edit
|
||||||
| Update my profile
|
| Update my profile
|
||||||
.panel
|
.panel
|
||||||
|
.big-break
|
||||||
.container.text-center
|
.container.text-center
|
||||||
a.btn.btn-cta.signup-btn.big-break(href='/') Take me to my current challenge
|
a.btn.btn-cta.signup-btn(href='/') Take me to my current challenge
|
||||||
|
.big-break
|
||||||
|
.container.text-center
|
||||||
|
a.btn.btn-default.btn-big(href='/logout') Sign out
|
||||||
|
.big-break
|
||||||
|
|
||||||
- if (!user.google || !user.facebook || !user.github || !user.linkedin || !user.twitter)
|
- if (!user.google || !user.facebook || !user.github || !user.linkedin || !user.twitter)
|
||||||
.panel
|
.panel
|
||||||
@ -66,7 +71,7 @@ block content
|
|||||||
i.fa.fa-twitter
|
i.fa.fa-twitter
|
||||||
| Link Twitter with your account
|
| Link Twitter with your account
|
||||||
br
|
br
|
||||||
- if (ch[0] > 0)
|
- if (cc[0] > 0)
|
||||||
.panel
|
.panel
|
||||||
.container
|
.container
|
||||||
h1 Completed Challenges
|
h1 Completed Challenges
|
||||||
@ -76,11 +81,11 @@ block content
|
|||||||
tr
|
tr
|
||||||
th Challenge
|
th Challenge
|
||||||
th Date Finished
|
th Date Finished
|
||||||
for challenge in cc
|
for challenge in c
|
||||||
if ch[challenge.challengeNumber] > 0
|
if cc[challenge.challengeNumber] > 0
|
||||||
tr
|
tr
|
||||||
td= cc[challenge.challengeNumber].name
|
td= c[challenge.challengeNumber].name
|
||||||
td= moment(ch[challenge.challengeNumber], 'X').format("MMM DD, YYYY")
|
td= moment(cc[challenge.challengeNumber], 'X').format("MMM DD, YYYY")
|
||||||
br
|
br
|
||||||
.panel
|
.panel
|
||||||
.container
|
.container
|
||||||
|
@ -15,15 +15,6 @@ block content
|
|||||||
.btn.btn-primary.btn-big.btn-block.completed-challenge I've completed this challenge
|
.btn.btn-primary.btn-big.btn-block.completed-challenge I've completed this challenge
|
||||||
.ten-pixel-break
|
.ten-pixel-break
|
||||||
.btn.btn-success.btn-large.btn-block.skip-challenge I want to skip this challenge for now
|
.btn.btn-success.btn-large.btn-block.skip-challenge I want to skip this challenge for now
|
||||||
- if (points && points > 2 || !cc)
|
|
||||||
.panel-footer.text-center
|
|
||||||
span Need a break? Check out our:
|
|
||||||
a(href="https://gitter.im/FreeCodeCamp/FreeCodeCamp", target="_blank") Chat Room
|
|
||||||
| ,
|
|
||||||
a(href="http://blog.freecodecamp.com", target="_blank") Blog
|
|
||||||
| , or
|
|
||||||
a(href="http://forum.freecodecamp.com", target="_blank") Forum
|
|
||||||
| .
|
|
||||||
#complete-dialog.modal
|
#complete-dialog.modal
|
||||||
.modal-dialog.animated.zoomIn.fast-animation
|
.modal-dialog.animated.zoomIn.fast-animation
|
||||||
.modal-content
|
.modal-content
|
||||||
|
@ -3,7 +3,7 @@ block content
|
|||||||
.hidden-xs
|
.hidden-xs
|
||||||
a(href='https://github.com/freecodecamp/freecodecamp')
|
a(href='https://github.com/freecodecamp/freecodecamp')
|
||||||
img(style='position: absolute; top: 40; right: 0; border: 0; margin-top: -10px;', src='https://camo.githubusercontent.com/e7bbb0521b397edbd5fe43e7f760759336b5e05f/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f677265656e5f3030373230302e706e67', alt='Fork me on GitHub', data-canonical-src='https://s3.amazonaws.com/github/ribbons/forkme_right_green_007200.png')
|
img(style='position: absolute; top: 40; right: 0; border: 0; margin-top: -10px;', src='https://camo.githubusercontent.com/e7bbb0521b397edbd5fe43e7f760759336b5e05f/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f677265656e5f3030373230302e706e67', alt='Fork me on GitHub', data-canonical-src='https://s3.amazonaws.com/github/ribbons/forkme_right_green_007200.png')
|
||||||
.jumbotron.negative-15
|
.jumbotron
|
||||||
.text-center
|
.text-center
|
||||||
h1.hug-top Code with Us
|
h1.hug-top Code with Us
|
||||||
h2 Let's learn to code by building projects for nonprofits
|
h2 Let's learn to code by building projects for nonprofits
|
||||||
|
@ -17,7 +17,6 @@ html
|
|||||||
.container
|
.container
|
||||||
include partials/flash
|
include partials/flash
|
||||||
block content
|
block content
|
||||||
|
|
||||||
!= js('application')
|
!= js('application')
|
||||||
script.
|
script.
|
||||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||||
|
@ -0,0 +1,23 @@
|
|||||||
|
.footer.nav.navbar.navbar-nav.visible-xs.visible-sm
|
||||||
|
ul
|
||||||
|
li
|
||||||
|
a(href='/') Challenges
|
||||||
|
- if (cc && cc[1] < 1)
|
||||||
|
li
|
||||||
|
a(href='/challenges/1') Chat
|
||||||
|
- else
|
||||||
|
li
|
||||||
|
a(href='http://chat.freecodecamp.com') Chat
|
||||||
|
- if (cc && cc[2] < 1)
|
||||||
|
li
|
||||||
|
a(href='/challenges/2') Forum
|
||||||
|
- else
|
||||||
|
li
|
||||||
|
a(href='http://forum.freecodecamp.com') Forum
|
||||||
|
li
|
||||||
|
a(href='/learn-to-code') About
|
||||||
|
if user
|
||||||
|
li
|
||||||
|
a(href='/profile') [ #{user.points} ]
|
||||||
|
if !user
|
||||||
|
a.btn.signup-btn.btn-nav.btn-sm(href='/login') Sign in
|
@ -1,7 +1,6 @@
|
|||||||
.navbar.navbar-default.navbar-fixed-top.nav-height
|
nav.navbar.navbar-default.navbar-fixed-top.nav-height
|
||||||
.container
|
.container
|
||||||
.navbar-header
|
.navbar-header
|
||||||
if user
|
|
||||||
button.navbar-toggle(type='button', data-toggle='collapse', data-target='.navbar-collapse')
|
button.navbar-toggle(type='button', data-toggle='collapse', data-target='.navbar-collapse')
|
||||||
span.sr-only Toggle navigation
|
span.sr-only Toggle navigation
|
||||||
span.icon-bar
|
span.icon-bar
|
||||||
@ -11,47 +10,32 @@
|
|||||||
img.img-responsive.nav-logo(src='https://s3.amazonaws.com/freecodecamp/freecodecamp_logo.svg')
|
img.img-responsive.nav-logo(src='https://s3.amazonaws.com/freecodecamp/freecodecamp_logo.svg')
|
||||||
.collapse.navbar-collapse
|
.collapse.navbar-collapse
|
||||||
ul.nav.navbar-nav.navbar-right
|
ul.nav.navbar-nav.navbar-right
|
||||||
|
li
|
||||||
|
a(href='/') Challenges
|
||||||
|
- if (!cc || (cc && cc[1]) < 1)
|
||||||
|
li
|
||||||
|
a(href='/challenges/1') Chat
|
||||||
|
- else
|
||||||
|
li
|
||||||
|
a(href='http://chat.freecodecamp.com' target='_blank') Chat
|
||||||
|
- if (!cc || (cc && cc[2]) < 1)
|
||||||
|
li
|
||||||
|
a(href='/challenges/2') Forum
|
||||||
|
- else
|
||||||
|
li
|
||||||
|
a(href='http://forum.freecodecamp.com' target='_blank') Forum
|
||||||
|
li
|
||||||
|
a(href='/about') About
|
||||||
if !user
|
if !user
|
||||||
a.btn.signup-btn.btn-nav.btn-sm(href='/login') Sign in
|
li
|
||||||
|
a.btn.signup-btn.signup-btn-nav(href='/login') Sign in
|
||||||
else
|
else
|
||||||
li.dropdown(class=title=='Account Management'?'active':undefined)
|
li
|
||||||
a.dropdown-toggle.text-center(href='#', data-toggle='dropdown')
|
a(href='/account') [ #{user.points} ]
|
||||||
|
.hidden-xs
|
||||||
if user.profile.picture
|
if user.profile.picture
|
||||||
img(src='#{user.profile.picture}')
|
|
||||||
else
|
|
||||||
img(src='#{user.gravatar(60)}')
|
|
||||||
| #{user.profile.name || user.email || user.id} [ #{user.points} ]
|
|
||||||
i.caret
|
|
||||||
ul.dropdown-menu.text-right
|
|
||||||
li.hamburger
|
|
||||||
a(href='/')
|
|
||||||
span.ion-map
|
|
||||||
| My Challenges
|
|
||||||
- if (cc && cc[1] < 1)
|
|
||||||
li.hamburger.disabled
|
|
||||||
a(href='https://gitter.im/FreeCodeCamp/FreeCodeCamp', target='_blank')
|
|
||||||
span.ion-coffee
|
|
||||||
| Chat Room (do Challenge 1 first)
|
|
||||||
- else
|
|
||||||
li.hamburger
|
|
||||||
a(href='https://gitter.im/FreeCodeCamp/FreeCodeCamp', target='_blank')
|
|
||||||
span.ion-coffee
|
|
||||||
| Chat Room
|
|
||||||
- if (cc && cc[2] < 1)
|
|
||||||
li.hamburger.disabled
|
|
||||||
a(href='http://forum.freecodecamp.com/', target='_blank')
|
|
||||||
span.ion-planet
|
|
||||||
| Forum (do Challenge 2 first)
|
|
||||||
- else
|
|
||||||
li.hamburger
|
|
||||||
a(href='http://forum.freecodecamp.com/', target='_blank')
|
|
||||||
span.ion-planet
|
|
||||||
| Forum
|
|
||||||
li.hamburger
|
|
||||||
a(href='/account')
|
a(href='/account')
|
||||||
span.ion-person
|
img.profile-picture.float-right(src='#{user.profile.picture}')
|
||||||
| My Account
|
else
|
||||||
li.hamburger
|
a(href='/account')
|
||||||
a(href='/logout')
|
img.profile-picture.float-right(src='#{user.gravatar(60)}')
|
||||||
span.ion-log-out
|
|
||||||
| Logout
|
|
Reference in New Issue
Block a user