Redesigned layout of employers page

This commit is contained in:
Michael Schmatz 2014-07-02 11:44:33 -07:00
parent fe08fdb2b0
commit 8e6807ab60

View file

@ -1,140 +1,78 @@
extends /templates/base extends /templates/recruitment_base
block content block content
#tagline
h1(data-i18n="employers.hire_developers_not_credentials") Hire developers, not credentials.
button.btn.get-started-button Get started
h1(data-i18n="employers.want_to_hire_our_players") Hire CodeCombat Players
if !isEmployer && !me.isAdmin()
div#info_wrapper
div#leftside
div.information_row
img(class="employer_icon" src="/images/pages/employer/employer_icon1.png")
h2(data-i18n="employers.what") What is CodeCombat?
p(data-i18n="employers.what_blurb") CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io.
div.information_row
img(class="employer_icon" src="/images/pages/employer/employer_icon3.png")
h2(data-i18n="employers.who") Who Are the Players?
p(data-i18n="employers.who_blurb") CodeCombateers are CTOs, VPs of Engineering, and graduates of top 20 engineering schools. No junior developers here. Our players enjoy playing with code and solving problems.
div.information_row
img(class="employer_icon" src="/images/pages/employer/employer_icon5.png")
h2(data-i18n="employers.cost") Who Are the Players?
p(data-i18n="employers.cost_blurb") CodeCombateers are CTOs, VPs of Engineering, and graduates of top 20 engineering schools. No junior developers here. Our players enjoy playing with code and solving problems.
div#rightside
div.information_row
img(class="employer_icon" src="/images/pages/employer/employer_icon2.png")
h2(data-i18n="employers.how") How Much Do we Charge?
p(data-i18n="employers.how_blurb") We charge 15% of first year's salary and offer a 100% money back guarantee for 90 days. We don't charge for candidates who are already actively being interviewed at your company.
div.information_row
img(class="employer_icon" src="/images/pages/employer/employer_icon4.png")
h2(data-i18n="employers.why") Why Hire Through Us?
p
span(data-i18n="employers.why_blurb_1") We will save you time. Every CodeCombateer we feaure is
strong(data-i18n="employers.why_blurb_2") looking for work
span(data-i18n="employers.why_blurb_3") , has
strong(data-i18n="employers.why_blurb_4") demonstrated top notch technical skills
span(data-i18n="employers.why_blurb_5") , and has been
strong(data-i18n="employers.why_blurb_6") personally screened by us
span(data-i18n="employers.why_blurb_7") . Stop screening and start hiring.
div.information_row
img(class="employer_icon" src="/images/pages/employer/employer_icon6.png")
h2(data-i18n="employers.response") What's the Response Rate?
p(data-i18n="employers.response_blurb") Almost every developer you contact on CodeCombat will respond to inquires whether or not they want to interivew. If you would like help finding a candidate for your role, we can make recommendations.
if candidates.length if candidates.length
#candidate-table
table
tbody
for candidate, index in featuredCandidates
- var profile = candidate.get('jobProfile');
- var authorized = candidate.id; // If we have the id, then we are authorized.
- var profileAge = (new Date() - new Date(profile.updated)) / 86400 / 1000;
- var expired = profileAge > 2 * 30.4;
- var curated = profile.curated;
tr(data-candidate-id=candidate.id, id=candidate.id, class=expired ? "expired" : "")
td(rowspan=2)
img.candidate-picture(src=candidate.getPhotoURL(50), alt=profile.name, title=profile.name, height=50)
td.candidate-description #{profile.shortDescription}
tr.border_row
if curated
- var workHistory = curated.workHistory.join(",");
td.tag_column
img(src="/images/pages/employer/tag.png")
| #{curated.mainTag}
td.location_column
img(src="/images/pages/employer/location.png")
| #{curated.location}
td.education_column
img(src="/images/pages/employer/education.png")
| #{curated.education}
td.work_column
img(src="/images/pages/employer/briefcase.png")
| #{workHistory}
else
td Hi
ul.nav.nav-pills if (!isEmployer && !me.isAdmin()) || true
li.active div#info_wrapper
a(href="#featured-candidates", data-toggle="tab") span.hiring-call-to-action
span(data-i18n="employers.featured_developers") Featured Developers h2#start-hiring(data-i18n="employers.start_hiring") Start hiring.
| (#{featuredCandidates.length}) button.btn.get-started-button Get started
if otherCandidates.length
li h2#hiring-reasons.hiring-call-to-action(data-i18n="employers.reasons") 3 reasons you should hire through us:
a(href="#other-candidates", data-toggle="tab") .reasons#top_row
span(data-i18n="employers.other_developers") Other Developers .reason
| (#{otherCandidates.length}) img.employer_icon(src="/images/pages/employer/employer_icon2.png")
if me.isAdmin() && inactiveCandidates.length h3(data-i18n="employers.everyone_looking") Everyone here is looking for work.
li p(data-i18n="employers.everyone_looking_blurb") Forget about 20% LinkedIn InMail response rates. Everyone that we list on this site wants to find their next position and will respond to your request for an introduction.
a(href="#inactive-candidates", data-toggle="tab") .reason
span(data-i18n="employers.inactive_developers") Inactive Developers img.employer_icon(src="/images/pages/employer/employer_icon6.png")
| (#{inactiveCandidates.length}) h3(data-i18n="employers.weeding") We've done the weeding for you.
//this will break in i18n. Fix the inlining
div.tab-content p(data-i18n="employers.weeding_blurb")
for area, tabIndex in [{id: "featured-candidates", candidates: featuredCandidates}, {id: "other-candidates", candidates: otherCandidates}, {id: "inactive-candidates", candidates: inactiveCandidates}] | Every candidate that has a
div(class="tab-pane well" + (tabIndex ? "" : " active"), id=area.id) span.glyphicon.glyphicon-earphone
table.table.table-condensed.table-hover.table-responsive.tablesorter | icon has already gone through a phone screen with us. We only feature developers that we would work with.
thead .reason
tr img(class="employer_icon" src="/images/pages/employer/employer_icon3.png")
th(data-i18n="general.name") Name h3(data-i18n="employers.pass_screen") They will pass your technical screen.
th(data-i18n="employers.candidate_location") Location p(data-i18n="employers.pass_screen_blurb") All of these developers have ranked in our programming competitions. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News.
th(data-i18n="employers.candidate_looking_for") Looking For span.hiring-call-to-action
th(data-i18n="employers.candidate_role") Role h2(data-i18n="employers.make_hiring_easier") Make my hiring easier, please.
th(data-i18n="employers.candidate_top_skills") Top Skills button.btn.get-started-button Get started
th(data-i18n="employers.candidate_years_experience") Yrs Exp .reasons#bottom_row
th(data-i18n="employers.candidate_last_updated") Last Updated .reason_long
if me.isAdmin() img.employer_icon(src="/images/pages/employer/employer_icon1.png")
th(data-i18n="employers.candidate_who") Who .reason_text
if me.isAdmin() && area.id == 'inactive-candidates' h3(data-i18n="employers.what") What is CodeCombat?
th ✓? p(data-i18n="employers.what_blurb") CodeCombat is a multiplayer browser programming game. Players write code to control their forces in battle against other developers. We support JavaScript, Python, Lua, Clojure, CoffeeScript, and Io.
.reason_long
tbody img.employer_icon(src="/images/pages/employer/employer_icon5.png")
for candidate, index in area.candidates .reason_text
- var profile = candidate.get('jobProfile'); h3(data-i18n="employers.cost") Who Are the Players?
- var authorized = candidate.id; // If we have the id, then we are authorized. p(data-i18n="employers.cost_blurb") CodeCombateers are CTOs, VPs of Engineering, and graduates of top 20 engineering schools. No junior developers here. Our players enjoy playing with code and solving problems.
- var profileAge = (new Date() - new Date(profile.updated)) / 86400 / 1000;
- var expired = profileAge > 2 * 30.4;
tr(data-candidate-id=candidate.id, id=candidate.id, class=expired ? "expired" : "")
td
if authorized
img(src=candidate.getPhotoURL(50), alt=profile.name, title=profile.name, height=50)
if profile.name
p= profile.name
else if me.isAdmin()
p (#{candidate.get('name')})
else
img(src="/images/pages/contribute/archmage.png", alt="", title="Sign up as an employer to see our candidates", width=50)
p Developer ##{index + 1 + (area.id == 'featured-candidates' ? 0 : featuredCandidates.length)}
if profile.country == 'USA'
td= profile.city
else
td= profile.country
td= profile.lookingFor
td= profile.jobTitle
td
each skill in profile.skills
code= skill
span
td= profile.experience
td(data-profile-age=profileAge)= moment(profile.updated).fromNow()
if me.isAdmin()
td= remarks[candidate.id] ? remarks[candidate.id].get('contactName') : ''
if me.isAdmin() && area.id == 'inactive-candidates'
if candidate.get('jobProfileApproved')
td ✓
else
td ✗