312 lines
12 KiB
Plaintext
312 lines
12 KiB
Plaintext
extends ../layout
|
||
|
||
block content
|
||
.panel
|
||
.container
|
||
h1 Update your profile here:
|
||
.animated.flipInX
|
||
form.form-horizontal(action='/account/profile', method='POST')
|
||
input(type='hidden', name='_csrf', value=_csrf)
|
||
.form-group
|
||
label.col-sm-2.control-label(for='name') Name
|
||
.col-sm-4
|
||
input.form-control(type='text', name='name', id='name', value='#{user.profile.name}')
|
||
//.form-group
|
||
label.col-sm-2.control-label(for='username') Username
|
||
.col-sm-4
|
||
input.form-control(type='text', name='username', id='username', value='#{user.profile.username}')
|
||
.form-group
|
||
label.col-sm-2.control-label(for='email') Email
|
||
.col-sm-4
|
||
input.form-control(type='email', name='email', id='email', value='#{user.email}')
|
||
.form-group
|
||
label.col-sm-2.control-label(for='location') Location
|
||
.col-sm-4
|
||
input.form-control(type='text', name='location', id='location', value='#{user.profile.location}')
|
||
.form-group
|
||
label.col-sm-2.control-label(for='website') Website
|
||
.col-sm-4
|
||
input.form-control(type='text', name='website', id='website', value='#{user.profile.website}')
|
||
.form-group
|
||
.col-sm-offset-2.col-sm-4
|
||
button.btn.btn.btn-primary(type='submit')
|
||
span.ion-edit
|
||
| Update my profile
|
||
|
||
h1 Completed Challenges
|
||
.col-xs-12
|
||
table.table.table-striped
|
||
thead
|
||
tr
|
||
th Challenge
|
||
th Date Finished
|
||
if cc[0] > 0
|
||
tr
|
||
td Learn how Free Code Camp Works
|
||
td=moment(cc[0], 'X').format("MMM DD, YYYY")
|
||
if cc[1] > 0
|
||
tr
|
||
td Join Our Chat Room
|
||
td=moment(cc[1], 'X').format("MMM DD, YYYY")
|
||
if cc[2] > 0
|
||
tr
|
||
td Subscribe to Our Subreddit
|
||
td=moment(cc[2], 'X').format("MMM DD, YYYY")
|
||
if cc[3] > 0
|
||
tr
|
||
td Build a Personal Website
|
||
td=moment(cc[3], 'X').format("MMM DD, YYYY")
|
||
if cc[4] > 0
|
||
tr
|
||
td Build a Responsive Blog Theme
|
||
td=moment(cc[4], 'X').format("MMM DD, YYYY")
|
||
if cc[5] > 0
|
||
tr
|
||
td Build a Small Business Website
|
||
td=moment(cc[5], 'X').format("MMM DD, YYYY")
|
||
if cc[6] > 0
|
||
tr
|
||
td Tweak HTML and CSS in CodePen
|
||
td=moment(cc[6], 'X').format("MMM DD, YYYY")
|
||
if cc[7] > 0
|
||
tr
|
||
td Build a CSS Robot
|
||
td=moment(cc[7], 'X').format("MMM DD, YYYY")
|
||
if cc[8] > 0
|
||
tr
|
||
td Get Started with jQuery
|
||
td=moment(cc[8], 'X').format("MMM DD, YYYY")
|
||
if cc[9] > 0
|
||
tr
|
||
td Traverse the DOM
|
||
td=moment(cc[9], 'X').format("MMM DD, YYYY")
|
||
if cc[10] > 0
|
||
tr
|
||
td Work with the DOM
|
||
td=moment(cc[10], 'X').format("MMM DD, YYYY")
|
||
if cc[11] > 0
|
||
tr
|
||
td Listen for DOM Events
|
||
td=moment(cc[11], 'X').format("MMM DD, YYYY")
|
||
if cc[12] > 0
|
||
tr
|
||
td Use jQuery for Styling
|
||
td=moment(cc[12], 'X').format("MMM DD, YYYY")
|
||
if cc[13] > 0
|
||
tr
|
||
td Build a MadLibs Game
|
||
td=moment(cc[13], 'X').format("MMM DD, YYYY")
|
||
if cc[14] > 0
|
||
tr
|
||
td Discover Chrome's DevTools
|
||
td=moment(cc[14], 'X').format("MMM DD, YYYY")
|
||
if cc[15] > 0
|
||
tr
|
||
td Tackle jQuery Exercises
|
||
td=moment(cc[15], 'X').format("MMM DD, YYYY")
|
||
if cc[16] > 0
|
||
tr
|
||
td Customize Bootstrap
|
||
td=moment(cc[16], 'X').format("MMM DD, YYYY")
|
||
if cc[17] > 0
|
||
tr
|
||
td Inject Animation into CSS
|
||
td=moment(cc[17], 'X').format("MMM DD, YYYY")
|
||
if cc[18] > 0
|
||
tr
|
||
td Learn Basic Computer Science
|
||
td=moment(cc[18], 'X').format("MMM DD, YYYY")
|
||
if cc[19] > 0
|
||
tr
|
||
td Learn Loops
|
||
td=moment(cc[19], 'X').format("MMM DD, YYYY")
|
||
if cc[20] > 0
|
||
tr
|
||
td Learn Computer Hardware
|
||
td=moment(cc[20], 'X').format("MMM DD, YYYY")
|
||
if cc[21] > 0
|
||
tr
|
||
td Learn Computer Networking
|
||
td=moment(cc[21], 'X').format("MMM DD, YYYY")
|
||
if cc[22] > 0
|
||
tr
|
||
td Learn Boolean Logic
|
||
td=moment(cc[22], 'X').format("MMM DD, YYYY")
|
||
if cc[23] > 0
|
||
tr
|
||
td Learn Computer Security
|
||
td=moment(cc[23], 'X').format("MMM DD, YYYY")
|
||
if cc[24] > 0
|
||
tr
|
||
td Build an Adventure Game
|
||
td=moment(cc[24], 'X').format("MMM DD, YYYY")
|
||
if cc[25] > 0
|
||
tr
|
||
td Build Rock Paper Scissors
|
||
td=moment(cc[25], 'X').format("MMM DD, YYYY")
|
||
if cc[26] > 0
|
||
tr
|
||
td Learn JavaScript For Loops
|
||
td=moment(cc[26], 'X').format("MMM DD, YYYY")
|
||
if cc[27] > 0
|
||
tr
|
||
td Learn JavaScript While Loops
|
||
td=moment(cc[27], 'X').format("MMM DD, YYYY")
|
||
if cc[28] > 0
|
||
tr
|
||
td Learn Control Flow
|
||
td=moment(cc[28], 'X').format("MMM DD, YYYY")
|
||
if cc[29] > 0
|
||
tr
|
||
td Build a Contact List
|
||
td=moment(cc[29], 'X').format("MMM DD, YYYY")
|
||
if cc[30] > 0
|
||
tr
|
||
td Build an Address Book
|
||
td=moment(cc[30], 'X').format("MMM DD, YYYY")
|
||
if cc[31] > 0
|
||
tr
|
||
td Build a Cash Register
|
||
td=moment(cc[31], 'X').format("MMM DD, YYYY")
|
||
if cc[32] > 0
|
||
tr
|
||
td Get Help the Hacker Way
|
||
td=moment(cc[32], 'X').format("MMM DD, YYYY")
|
||
if cc[33] > 0
|
||
tr
|
||
td Learn Regular Expressions
|
||
td=moment(cc[33], 'X').format("MMM DD, YYYY")
|
||
if cc[34] > 0
|
||
tr
|
||
td Pair Program on CoderByte
|
||
td=moment(cc[34], 'X').format("MMM DD, YYYY")
|
||
if cc[35] > 0
|
||
tr
|
||
td Learn Relational Database Theory
|
||
td=moment(cc[35], 'X').format("MMM DD, YYYY")
|
||
if cc[36] > 0
|
||
tr
|
||
td Pair Program to Query SQL pt 1
|
||
td=moment(cc[36], 'X').format("MMM DD, YYYY")
|
||
if cc[37] > 0
|
||
tr
|
||
td Pair Program to Query SQL pt 2
|
||
td=moment(cc[37], 'X').format("MMM DD, YYYY")
|
||
if cc[38] > 0
|
||
tr
|
||
td Pair Program to modify SQL pt 1
|
||
td=moment(cc[38], 'X').format("MMM DD, YYYY")
|
||
if cc[39] > 0
|
||
tr
|
||
td Pair Program to modify SQL pt 2
|
||
td=moment(cc[39], 'X').format("MMM DD, YYYY")
|
||
if cc[40] > 0
|
||
tr
|
||
td Learn JSON
|
||
td=moment(cc[40], 'X').format("MMM DD, YYYY")
|
||
if cc[41] > 0
|
||
tr
|
||
td Manage Source Code with Git
|
||
td=moment(cc[41], 'X').format("MMM DD, YYYY")
|
||
if cc[42] > 0
|
||
tr
|
||
td Get Started with Node.js
|
||
td=moment(cc[42], 'X').format("MMM DD, YYYY")
|
||
if cc[43] > 0
|
||
tr
|
||
td Try Node.js Events
|
||
td=moment(cc[43], 'X').format("MMM DD, YYYY")
|
||
if cc[44] > 0
|
||
tr
|
||
td Try Node.js Streams
|
||
td=moment(cc[44], 'X').format("MMM DD, YYYY")
|
||
if cc[45] > 0
|
||
tr
|
||
td Learn how Node.js Modules Work
|
||
td=moment(cc[45], 'X').format("MMM DD, YYYY")
|
||
if cc[46] > 0
|
||
tr
|
||
td Start an Express.js Server
|
||
td=moment(cc[46], 'X').format("MMM DD, YYYY")
|
||
if cc[47] > 0
|
||
tr
|
||
td Use Socket.io
|
||
td=moment(cc[47], 'X').format("MMM DD, YYYY")
|
||
if cc[48] > 0
|
||
tr
|
||
td Use Redis to Persist Data
|
||
td=moment(cc[48], 'X').format("MMM DD, YYYY")
|
||
if cc[49] > 0
|
||
tr
|
||
td Dive Deeper into Express.js
|
||
td=moment(cc[49], 'X').format("MMM DD, YYYY")
|
||
if cc[50] > 0
|
||
tr
|
||
td Set up Express.js Middleware
|
||
td=moment(cc[50], 'X').format("MMM DD, YYYY")
|
||
if cc[51] > 0
|
||
tr
|
||
td Take Advantage of Parameters
|
||
td=moment(cc[51], 'X').format("MMM DD, YYYY")
|
||
if cc[52] > 0
|
||
tr
|
||
td Add the Body Parser
|
||
td=moment(cc[52], 'X').format("MMM DD, YYYY")
|
||
if cc[53] > 0
|
||
tr
|
||
td Configure Routes in Express.js
|
||
td=moment(cc[53], 'X').format("MMM DD, YYYY")
|
||
if cc[54] > 0
|
||
tr
|
||
td Try MongoDB
|
||
td=moment(cc[54], 'X').format("MMM DD, YYYY")
|
||
if cc[55] > 0
|
||
tr
|
||
td Get Started with Angular.js
|
||
td=moment(cc[55], 'X').format("MMM DD, YYYY")
|
||
if cc[56] > 0
|
||
tr
|
||
td Apply Angular.js Directives
|
||
td=moment(cc[56], 'X').format("MMM DD, YYYY")
|
||
if cc[57] > 0
|
||
tr
|
||
td Power Forms with Angular.js
|
||
td=moment(cc[57], 'X').format("MMM DD, YYYY")
|
||
if cc[58] > 0
|
||
tr
|
||
td Customize Angular.js Directives
|
||
td=moment(cc[58], 'X').format("MMM DD, YYYY")
|
||
if cc[59] > 0
|
||
tr
|
||
td Create Angular.js Services
|
||
td=moment(cc[59], 'X').format("MMM DD, YYYY")
|
||
h3 Danger Zone
|
||
button.btn.btn-danger.confirm-deletion
|
||
span.ion-trash-b
|
||
| I want to delete my account
|
||
script.
|
||
$('.confirm-deletion').on("click", function() {
|
||
$('#modal-dialog').modal('show');
|
||
});
|
||
#modal-dialog.modal.animated.wobble
|
||
.modal-dialog
|
||
.modal-content
|
||
.modal-header
|
||
a.close(href='#', data-dismiss='modal', aria-hidden='true') ×
|
||
h3 Are you really leaving us?
|
||
.modal-body
|
||
p Pro Tip: If you tweet feedback to
|
||
a(href="https://twitter.com/intent/tweet?text=Hey%20@freecodecamp") @FreeCodeCamp
|
||
| , we'll act quickly on it!
|
||
.modal-footer
|
||
a.btn.btn-success.btn-block(href='#', data-dismiss='modal', aria-hidden='true')
|
||
span.ion-happy
|
||
| Nevermind, I'll stick around
|
||
br
|
||
form(action='/account/delete', method='POST')
|
||
input(type='hidden', name='_csrf', value=_csrf)
|
||
button.btn.btn-danger.btn-block(type='submit')
|
||
span.ion-trash-b
|
||
| Yes, Delete my account
|
||
br
|
||
br |