mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-04-29 15:35:15 -04:00
Reordered i18n in rough order of section importance. Deprecated employer/candidate pages for now and turned off candidate emails.
This commit is contained in:
parent
ddc359cf10
commit
16ff8c6601
7 changed files with 1010 additions and 1004 deletions
app
locale
styles
templates
server/routes
1600
app/locale/en.coffee
1600
app/locale/en.coffee
File diff suppressed because it is too large
Load diff
|
@ -1,4 +1,12 @@
|
||||||
#employers-view
|
#employers-view
|
||||||
|
.deprecation-warning
|
||||||
|
text-align: center
|
||||||
|
margin-bottom: 50px
|
||||||
|
|
||||||
|
.deprecated
|
||||||
|
cursor: default
|
||||||
|
opacity: 0.25
|
||||||
|
|
||||||
.artisanal-claim
|
.artisanal-claim
|
||||||
background: transparent url(/images/pages/employer/artisanal_claim.png) no-repeat center
|
background: transparent url(/images/pages/employer/artisanal_claim.png) no-repeat center
|
||||||
margin-bottom: 5px
|
margin-bottom: 5px
|
||||||
|
|
|
@ -104,11 +104,11 @@ block content
|
||||||
h3.panel-title
|
h3.panel-title
|
||||||
i.glyphicon.glyphicon-wrench
|
i.glyphicon.glyphicon-wrench
|
||||||
a(href="account/settings#password" data-i18n="general.password") Password
|
a(href="account/settings#password" data-i18n="general.password") Password
|
||||||
.panel.panel-default
|
//.panel.panel-default
|
||||||
.panel-heading
|
// .panel-heading
|
||||||
h3.panel-title
|
// h3.panel-title
|
||||||
i.glyphicon.glyphicon-briefcase
|
// i.glyphicon.glyphicon-briefcase
|
||||||
a(href="account/settings#job-profile" data-i18n="account_settings.job_profile") Job Profile
|
// a(href="account/settings#job-profile" data-i18n="account_settings.job_profile") Job Profile
|
||||||
.col-sm-6
|
.col-sm-6
|
||||||
h2(data-i18n="user.recently_played") Recently Played
|
h2(data-i18n="user.recently_played") Recently Played
|
||||||
hr
|
hr
|
||||||
|
|
|
@ -63,10 +63,7 @@ body
|
||||||
.footer.clearfix
|
.footer.clearfix
|
||||||
.content
|
.content
|
||||||
p.footer-link-text
|
p.footer-link-text
|
||||||
if pathname == "/" || (me.get('permissions', true)).indexOf('employer') != -1
|
a(href='/', tabindex=-1, data-i18n="nav.home") Home
|
||||||
a(href='/employers', tabindex=-1, data-i18n="nav.employers") Employers
|
|
||||||
else
|
|
||||||
a(href='/', tabindex=-1, data-i18n="nav.home") Home
|
|
||||||
a(href='/play/ladder', tabindex=-1, data-i18n="home.multiplayer") Multiplayer
|
a(href='/play/ladder', tabindex=-1, data-i18n="home.multiplayer") Multiplayer
|
||||||
a(href='/community', tabindex=-1, data-i18n="nav.community") Community
|
a(href='/community', tabindex=-1, data-i18n="nav.community") Community
|
||||||
a(href='/contribute', tabindex=-1, data-i18n="nav.contribute") Contribute
|
a(href='/contribute', tabindex=-1, data-i18n="nav.contribute") Contribute
|
||||||
|
|
|
@ -1,183 +1,188 @@
|
||||||
extends /templates/recruitment_base
|
extends /templates/recruitment_base
|
||||||
|
|
||||||
block content
|
block content
|
||||||
.artisanal-claim
|
.deprecation-warning
|
||||||
if me.get('anonymous')
|
h1(data-i18n="employers.deprecation_warning_title") Sorry, CodeCombat is not recruiting right now.
|
||||||
a#login-link(data-i18n="login.log_in") Log In
|
p(data-i18n="employers.deprecation_warning") We are focusing on beginner levels instead of finding expert developers for the time being.
|
||||||
br
|
|
||||||
if !isEmployer && !me.isAdmin()
|
.deprecated
|
||||||
#tagline
|
.artisanal-claim
|
||||||
h1(data-i18n="employers.hire_developers_not_credentials") Hire developers, not credentials.
|
if me.get('anonymous')
|
||||||
button.btn.get-started-button.employer-button(data-i18n="employers.get_started") Get Started
|
a#login-link(data-i18n="login.log_in") Log In
|
||||||
else
|
|
||||||
if !me.get('anonymous')
|
|
||||||
a#logout-link(data-i18n="login.log_out") Log Out
|
|
||||||
br
|
br
|
||||||
.row
|
if !isEmployer && !me.isAdmin()
|
||||||
- var fullProfiles = isEmployer || me.isAdmin();
|
#tagline
|
||||||
|
h1(data-i18n="employers.hire_developers_not_credentials") Hire developers, not credentials.
|
||||||
if fullProfiles
|
|
||||||
#filter-column.col-md-3
|
|
||||||
#filter
|
|
||||||
.panel-group#filter_panel
|
|
||||||
a#filter-link(data-toggle="collapse" data-target="#collapseOne")
|
|
||||||
.panel.panel-default
|
|
||||||
.panel-heading
|
|
||||||
h4.panel-title
|
|
||||||
span.glyphicon.glyphicon-folder-open#folder-icon
|
|
||||||
| Filter
|
|
||||||
.panel-collapse.collapse.in#collapseOne
|
|
||||||
.panel-body
|
|
||||||
p
|
|
||||||
strong(data-i18n="employers.already_screened") We've already technically screened all our candidates
|
|
||||||
span(data-i18n="employers.filter_further") , but you can also filter further:
|
|
||||||
form#filters
|
|
||||||
.filter_section#visa_filter
|
|
||||||
h4(data-i18n="employers.filter_visa") Visa
|
|
||||||
label
|
|
||||||
input(type="checkbox" name="visa" value="Authorized to work in the US")
|
|
||||||
span(data-i18n="employers.filter_visa_yes") US Authorized
|
|
||||||
| (#{candidatesInFilter("visa","Authorized to work in the US")})
|
|
||||||
label
|
|
||||||
input(type="checkbox" name="visa" value="Need visa sponsorship")
|
|
||||||
span(data-i18n="employers.filter_visa_no") Not Authorized
|
|
||||||
| (#{candidatesInFilter("visa","Need visa sponsorship")})
|
|
||||||
.filter_section#school_filter
|
|
||||||
h4(data-i18n="account_profile.education") Education
|
|
||||||
label
|
|
||||||
input(type="checkbox" name="schoolFilter" value="Top School")
|
|
||||||
span(data-i18n="employers.filter_education_top") Top School
|
|
||||||
| (#{candidatesInFilter("schoolFilter","Top School")})
|
|
||||||
label
|
|
||||||
input(type="checkbox" name="schoolFilter" value="Other")
|
|
||||||
span(data-i18n="employers.filter_education_other") Other
|
|
||||||
| (#{candidatesInFilter("schoolFilter","Other")})
|
|
||||||
.filter_section#role_filter
|
|
||||||
h4(data-i18n="employers.candidate_role") Role
|
|
||||||
label
|
|
||||||
input(type="checkbox" name="roleFilter" value="Web Developer")
|
|
||||||
span(data-i18n="employers.filter_role_web_developer") Web Developer
|
|
||||||
| (#{candidatesInFilter("roleFilter","Web Developer")})
|
|
||||||
label
|
|
||||||
input(type="checkbox" name="roleFilter" value="Software Developer")
|
|
||||||
span(data-i18n="employers.filter_role_software_developer") Software Developer
|
|
||||||
| (#{candidatesInFilter("roleFilter","Software Developer")})
|
|
||||||
label
|
|
||||||
input(type="checkbox" name="roleFilter" value="Mobile Developer")
|
|
||||||
span(data-i18n="employers.filter_role_mobile_developer") Mobile Developer
|
|
||||||
| (#{candidatesInFilter("roleFilter","Mobile Developer")})
|
|
||||||
.filter_section#seniority_filter
|
|
||||||
h4(data-i18n="employers.filter_experience") Experience
|
|
||||||
label
|
|
||||||
input(type="checkbox" name="seniorityFilter" value="Senior")
|
|
||||||
span(data-i18n="employers.filter_experience_senior") Senior
|
|
||||||
| (#{candidatesInFilter("seniorityFilter","Senior")})
|
|
||||||
label
|
|
||||||
input(type="checkbox" name="seniorityFilter" value="Junior")
|
|
||||||
span(data-i18n="employers.filter_experience_junior") Junior
|
|
||||||
| (#{candidatesInFilter("seniorityFilter","Junior")})
|
|
||||||
label
|
|
||||||
input(type="checkbox" name="seniorityFilter" value="Recent Grad")
|
|
||||||
span(data-i18n="employers.filter_experience_recent_grad") Recent Grad
|
|
||||||
| (#{candidatesInFilter("seniorityFilter","Recent Grad")})
|
|
||||||
label
|
|
||||||
input(type="checkbox" name="seniorityFilter" value="College Student")
|
|
||||||
span(data-i18n="employers.filter_experience_student") College Student
|
|
||||||
| (#{candidatesInFilter("seniorityFilter","College Student")})
|
|
||||||
|
|
||||||
//input#select_all_checkbox(type="checkbox" name="select_all" checked)
|
|
||||||
//| Select all
|
|
||||||
p#results
|
|
||||||
| #{numberOfCandidates}
|
|
||||||
span(data-i18n="employers.results") results
|
|
||||||
h4#filter-alerts-heading Filter Email Alerts
|
|
||||||
p Get an email whenever a candidate meeting certain criteria enters the system.
|
|
||||||
table#saved-filter-table
|
|
||||||
thead
|
|
||||||
tr
|
|
||||||
th Filters
|
|
||||||
th Remove
|
|
||||||
tbody
|
|
||||||
button.btn#create-alert-button Create Alert with Current Filters
|
|
||||||
|
|
||||||
#candidates-column(class=fullProfiles ? "full-profiles col-md-9" : "teaser-profiles col-md-12")
|
|
||||||
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;
|
|
||||||
- var photoSize = fullProfiles ? 75 : 50;
|
|
||||||
|
|
||||||
tr.candidate-row(data-candidate-id=candidate.id, id=candidate.id, class=expired ? "expired" : "")
|
|
||||||
td(rowspan=3)
|
|
||||||
- var photoURL = candidate.getPhotoURL(photoSize, false, true);
|
|
||||||
div(class="candidate-picture " + (/^\/file/.test(photoURL) ? "" : "anonymous"), style='background-image: url(' + encodeURI(photoURL) + ')')
|
|
||||||
if fullProfiles
|
|
||||||
td.candidate-name-cell
|
|
||||||
strong= profile.name
|
|
||||||
| -
|
|
||||||
span= profile.jobTitle
|
|
||||||
tr.description_row(data-candidate-id=candidate.id)
|
|
||||||
if curated && curated.shortDescription
|
|
||||||
td.candidate-description
|
|
||||||
div #{curated.shortDescription}
|
|
||||||
else
|
|
||||||
td.candidate-description
|
|
||||||
div #{profile.shortDescription}
|
|
||||||
tr.border_row(data-candidate-id=candidate.id)
|
|
||||||
if curated
|
|
||||||
- var workHistory = curated.workHistory.join(",");
|
|
||||||
if !fullProfiles
|
|
||||||
td.tag_column
|
|
||||||
img(src="/images/pages/employer/tag.png")
|
|
||||||
| #{profile.jobTitle}
|
|
||||||
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
|
|
||||||
if workHistory
|
|
||||||
img(src="/images/pages/employer/briefcase.png")
|
|
||||||
| #{workHistory}
|
|
||||||
|
|
||||||
if !fullProfiles
|
|
||||||
div#info_wrapper
|
|
||||||
span.hiring-call-to-action
|
|
||||||
h2#start-hiring(data-i18n="employers.start_hiring") Start hiring.
|
|
||||||
button.btn.get-started-button.employer-button(data-i18n="employers.get_started") Get Started
|
button.btn.get-started-button.employer-button(data-i18n="employers.get_started") Get Started
|
||||||
|
else
|
||||||
h2#hiring-reasons.hiring-call-to-action(data-i18n="employers.reasons") Three reasons you should hire through us:
|
if !me.get('anonymous')
|
||||||
.reasons#top_row
|
a#logout-link(data-i18n="login.log_out") Log Out
|
||||||
.reason
|
br
|
||||||
img.employer_icon(src="/images/pages/employer/employer_icon2.png")
|
.row
|
||||||
h3(data-i18n="employers.everyone_looking") Everyone here is looking for their next opportunity.
|
- var fullProfiles = isEmployer || me.isAdmin();
|
||||||
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.
|
|
||||||
.reason
|
if fullProfiles
|
||||||
img.employer_icon(src="/images/pages/employer/employer_icon6.png")
|
#filter-column.col-md-3
|
||||||
h3(data-i18n="employers.weeding") Sit back; we've done the weeding for you.
|
#filter
|
||||||
p(data-i18n="employers.weeding_blurb") Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time.
|
.panel-group#filter_panel
|
||||||
.reason
|
a#filter-link(data-toggle="collapse" data-target="#collapseOne")
|
||||||
img(class="employer_icon" src="/images/pages/employer/employer_icon3.png")
|
.panel.panel-default
|
||||||
h3(data-i18n="employers.pass_screen") They will pass your technical screen.
|
.panel-heading
|
||||||
p(data-i18n="employers.pass_screen_blurb") Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News.
|
h4.panel-title
|
||||||
span.hiring-call-to-action
|
span.glyphicon.glyphicon-folder-open#folder-icon
|
||||||
h2(data-i18n="employers.make_hiring_easier") Make my hiring easier, please.
|
| Filter
|
||||||
button.btn.get-started-button.employer-button(data-i18n="employers.get_started") Get Started
|
.panel-collapse.collapse.in#collapseOne
|
||||||
.reasons#bottom_row
|
.panel-body
|
||||||
.reason_long
|
p
|
||||||
img.employer_icon(src="/images/pages/employer/employer_icon1.png")
|
strong(data-i18n="employers.already_screened") We've already technically screened all our candidates
|
||||||
.reason_text
|
span(data-i18n="employers.filter_further") , but you can also filter further:
|
||||||
h3(data-i18n="employers.what") What is CodeCombat?
|
form#filters
|
||||||
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.
|
.filter_section#visa_filter
|
||||||
.reason_long
|
h4(data-i18n="employers.filter_visa") Visa
|
||||||
img.employer_icon(src="/images/pages/employer/employer_icon5.png")
|
label
|
||||||
.reason_text
|
input(type="checkbox" name="visa" value="Authorized to work in the US")
|
||||||
h3(data-i18n="employers.cost") How much do we charge?
|
span(data-i18n="employers.filter_visa_yes") US Authorized
|
||||||
p(data-i18n="employers.cost_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.
|
| (#{candidatesInFilter("visa","Authorized to work in the US")})
|
||||||
|
label
|
||||||
|
input(type="checkbox" name="visa" value="Need visa sponsorship")
|
||||||
|
span(data-i18n="employers.filter_visa_no") Not Authorized
|
||||||
|
| (#{candidatesInFilter("visa","Need visa sponsorship")})
|
||||||
|
.filter_section#school_filter
|
||||||
|
h4(data-i18n="account_profile.education") Education
|
||||||
|
label
|
||||||
|
input(type="checkbox" name="schoolFilter" value="Top School")
|
||||||
|
span(data-i18n="employers.filter_education_top") Top School
|
||||||
|
| (#{candidatesInFilter("schoolFilter","Top School")})
|
||||||
|
label
|
||||||
|
input(type="checkbox" name="schoolFilter" value="Other")
|
||||||
|
span(data-i18n="employers.filter_education_other") Other
|
||||||
|
| (#{candidatesInFilter("schoolFilter","Other")})
|
||||||
|
.filter_section#role_filter
|
||||||
|
h4(data-i18n="employers.candidate_role") Role
|
||||||
|
label
|
||||||
|
input(type="checkbox" name="roleFilter" value="Web Developer")
|
||||||
|
span(data-i18n="employers.filter_role_web_developer") Web Developer
|
||||||
|
| (#{candidatesInFilter("roleFilter","Web Developer")})
|
||||||
|
label
|
||||||
|
input(type="checkbox" name="roleFilter" value="Software Developer")
|
||||||
|
span(data-i18n="employers.filter_role_software_developer") Software Developer
|
||||||
|
| (#{candidatesInFilter("roleFilter","Software Developer")})
|
||||||
|
label
|
||||||
|
input(type="checkbox" name="roleFilter" value="Mobile Developer")
|
||||||
|
span(data-i18n="employers.filter_role_mobile_developer") Mobile Developer
|
||||||
|
| (#{candidatesInFilter("roleFilter","Mobile Developer")})
|
||||||
|
.filter_section#seniority_filter
|
||||||
|
h4(data-i18n="employers.filter_experience") Experience
|
||||||
|
label
|
||||||
|
input(type="checkbox" name="seniorityFilter" value="Senior")
|
||||||
|
span(data-i18n="employers.filter_experience_senior") Senior
|
||||||
|
| (#{candidatesInFilter("seniorityFilter","Senior")})
|
||||||
|
label
|
||||||
|
input(type="checkbox" name="seniorityFilter" value="Junior")
|
||||||
|
span(data-i18n="employers.filter_experience_junior") Junior
|
||||||
|
| (#{candidatesInFilter("seniorityFilter","Junior")})
|
||||||
|
label
|
||||||
|
input(type="checkbox" name="seniorityFilter" value="Recent Grad")
|
||||||
|
span(data-i18n="employers.filter_experience_recent_grad") Recent Grad
|
||||||
|
| (#{candidatesInFilter("seniorityFilter","Recent Grad")})
|
||||||
|
label
|
||||||
|
input(type="checkbox" name="seniorityFilter" value="College Student")
|
||||||
|
span(data-i18n="employers.filter_experience_student") College Student
|
||||||
|
| (#{candidatesInFilter("seniorityFilter","College Student")})
|
||||||
|
|
||||||
|
//input#select_all_checkbox(type="checkbox" name="select_all" checked)
|
||||||
|
//| Select all
|
||||||
|
p#results
|
||||||
|
| #{numberOfCandidates}
|
||||||
|
span(data-i18n="employers.results") results
|
||||||
|
h4#filter-alerts-heading Filter Email Alerts
|
||||||
|
p Get an email whenever a candidate meeting certain criteria enters the system.
|
||||||
|
table#saved-filter-table
|
||||||
|
thead
|
||||||
|
tr
|
||||||
|
th Filters
|
||||||
|
th Remove
|
||||||
|
tbody
|
||||||
|
button.btn#create-alert-button Create Alert with Current Filters
|
||||||
|
|
||||||
|
#candidates-column(class=fullProfiles ? "full-profiles col-md-9" : "teaser-profiles col-md-12")
|
||||||
|
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;
|
||||||
|
- var photoSize = fullProfiles ? 75 : 50;
|
||||||
|
|
||||||
|
tr.candidate-row(data-candidate-id=candidate.id, id=candidate.id, class=expired ? "expired" : "")
|
||||||
|
td(rowspan=3)
|
||||||
|
- var photoURL = candidate.getPhotoURL(photoSize, false, true);
|
||||||
|
div(class="candidate-picture " + (/^\/file/.test(photoURL) ? "" : "anonymous"), style='background-image: url(' + encodeURI(photoURL) + ')')
|
||||||
|
if fullProfiles
|
||||||
|
td.candidate-name-cell
|
||||||
|
strong= profile.name
|
||||||
|
| -
|
||||||
|
span= profile.jobTitle
|
||||||
|
tr.description_row(data-candidate-id=candidate.id)
|
||||||
|
if curated && curated.shortDescription
|
||||||
|
td.candidate-description
|
||||||
|
div #{curated.shortDescription}
|
||||||
|
else
|
||||||
|
td.candidate-description
|
||||||
|
div #{profile.shortDescription}
|
||||||
|
tr.border_row(data-candidate-id=candidate.id)
|
||||||
|
if curated
|
||||||
|
- var workHistory = curated.workHistory.join(",");
|
||||||
|
if !fullProfiles
|
||||||
|
td.tag_column
|
||||||
|
img(src="/images/pages/employer/tag.png")
|
||||||
|
| #{profile.jobTitle}
|
||||||
|
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
|
||||||
|
if workHistory
|
||||||
|
img(src="/images/pages/employer/briefcase.png")
|
||||||
|
| #{workHistory}
|
||||||
|
|
||||||
|
if !fullProfiles
|
||||||
|
div#info_wrapper
|
||||||
|
span.hiring-call-to-action
|
||||||
|
h2#start-hiring(data-i18n="employers.start_hiring") Start hiring.
|
||||||
|
button.btn.get-started-button.employer-button(data-i18n="employers.get_started") Get Started
|
||||||
|
|
||||||
|
h2#hiring-reasons.hiring-call-to-action(data-i18n="employers.reasons") Three reasons you should hire through us:
|
||||||
|
.reasons#top_row
|
||||||
|
.reason
|
||||||
|
img.employer_icon(src="/images/pages/employer/employer_icon2.png")
|
||||||
|
h3(data-i18n="employers.everyone_looking") Everyone here is looking for their next opportunity.
|
||||||
|
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.
|
||||||
|
.reason
|
||||||
|
img.employer_icon(src="/images/pages/employer/employer_icon6.png")
|
||||||
|
h3(data-i18n="employers.weeding") Sit back; we've done the weeding for you.
|
||||||
|
p(data-i18n="employers.weeding_blurb") Every player that we list has been screened for technical ability. We also perform phone screens for select candidates and make notes on their profiles to save you time.
|
||||||
|
.reason
|
||||||
|
img(class="employer_icon" src="/images/pages/employer/employer_icon3.png")
|
||||||
|
h3(data-i18n="employers.pass_screen") They will pass your technical screen.
|
||||||
|
p(data-i18n="employers.pass_screen_blurb") Review each candidate's code before reaching out. One employer found that 5x as many of our devs passed their technical screen than hiring from Hacker News.
|
||||||
|
span.hiring-call-to-action
|
||||||
|
h2(data-i18n="employers.make_hiring_easier") Make my hiring easier, please.
|
||||||
|
button.btn.get-started-button.employer-button(data-i18n="employers.get_started") Get Started
|
||||||
|
.reasons#bottom_row
|
||||||
|
.reason_long
|
||||||
|
img.employer_icon(src="/images/pages/employer/employer_icon1.png")
|
||||||
|
.reason_text
|
||||||
|
h3(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.
|
||||||
|
.reason_long
|
||||||
|
img.employer_icon(src="/images/pages/employer/employer_icon5.png")
|
||||||
|
.reason_text
|
||||||
|
h3(data-i18n="employers.cost") How much do we charge?
|
||||||
|
p(data-i18n="employers.cost_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.
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
each i in Array(level.difficulty)
|
each i in Array(level.difficulty)
|
||||||
i.icon-star
|
i.icon-star
|
||||||
- var playCount = levelPlayCountMap[level.id]
|
- var playCount = levelPlayCountMap[level.id]
|
||||||
if playCount && playCount > 20
|
if playCount && playCount.sessions > 20
|
||||||
div
|
div
|
||||||
span.spr #{playCount.sessions}
|
span.spr #{playCount.sessions}
|
||||||
span(data-i18n="play.players") players
|
span(data-i18n="play.players") players
|
||||||
|
|
|
@ -21,20 +21,20 @@ module.exports.setup = (app) ->
|
||||||
setupScheduledEmails = ->
|
setupScheduledEmails = ->
|
||||||
testForLockManager()
|
testForLockManager()
|
||||||
mailTasks = [
|
mailTasks = [
|
||||||
taskFunction: candidateUpdateProfileTask
|
# taskFunction: candidateUpdateProfileTask
|
||||||
frequencyMs: 10 * 60 * 1000 #10 minutes
|
# frequencyMs: 10 * 60 * 1000 #10 minutes
|
||||||
,
|
#,
|
||||||
taskFunction: internalCandidateUpdateTask
|
# taskFunction: internalCandidateUpdateTask
|
||||||
frequencyMs: 10 * 60 * 1000 #10 minutes
|
# frequencyMs: 10 * 60 * 1000 #10 minutes
|
||||||
,
|
#,
|
||||||
taskFunction: employerNewCandidatesAvailableTask
|
# taskFunction: employerNewCandidatesAvailableTask
|
||||||
frequencyMs: 10 * 60 * 1000 #10 minutes
|
# frequencyMs: 10 * 60 * 1000 #10 minutes
|
||||||
,
|
#,
|
||||||
taskFunction: unapprovedCandidateFinishProfileTask
|
# taskFunction: unapprovedCandidateFinishProfileTask
|
||||||
frequencyMs: 10 * 60 * 1000
|
# frequencyMs: 10 * 60 * 1000
|
||||||
,
|
#,
|
||||||
taskFunction: emailUserRemarkTaskRemindersTask
|
# taskFunction: emailUserRemarkTaskRemindersTask
|
||||||
frequencyMs: 10 * 60 * 1000
|
# frequencyMs: 10 * 60 * 1000
|
||||||
]
|
]
|
||||||
|
|
||||||
for mailTask in mailTasks
|
for mailTask in mailTasks
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue