mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-11-27 17:45:40 -05:00
Redesigned layout of employers page
This commit is contained in:
parent
fe08fdb2b0
commit
8e6807ab60
1 changed files with 72 additions and 134 deletions
|
@ -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 ✗
|
|
||||||
|
|
Loading…
Reference in a new issue