mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-12-18 19:42:36 -05:00
693da57f13
Conflicts: app/templates/account/profile.jade app/views/account/profile_view.coffee
472 lines
30 KiB
Text
472 lines
30 KiB
Text
extends /templates/base
|
||
|
||
block content
|
||
if allowedToEditJobProfile
|
||
.profile-control-bar
|
||
if editing
|
||
.progress.profile-completion-progress
|
||
.progress-bar.progress-bar-success(style="width: #{100 * progress}%")
|
||
.progress-text
|
||
a.btn(href="/account/settings")
|
||
i.icon-cog
|
||
span(data-i18n="account_profile.settings") Settings
|
||
if editing
|
||
button.btn.btn-success#toggle-editing
|
||
i.icon-ok
|
||
span(data-i18n="account_profile.done_editing") Done Editing
|
||
else
|
||
button.btn#toggle-editing
|
||
i.icon-cog
|
||
span(data-i18n="account_profile.edit_profile") Edit Profile
|
||
if linkedInAuthorized && editing
|
||
button.btn.btn-success#importLinkedIn
|
||
i.icon-arrow-down
|
||
span Import LinkedIn
|
||
else if editing
|
||
button.btn.linked-in-button
|
||
script(type="in/Login" id="linkedInAuthButton" data-onAuth="contractCallback")
|
||
if profile && profile.active
|
||
button.btn.btn-success#toggle-job-profile-active
|
||
i.icon-eye-open
|
||
span(data-i18n="account_profile.active") Looking for interview offers now
|
||
else
|
||
button.btn#toggle-job-profile-active
|
||
i.icon-eye-close
|
||
span(data-i18n="account_profile.inactive") Not looking for offers right now
|
||
if profile && (profile.active || me.isAdmin())
|
||
if profileApproved
|
||
button.btn.btn-success#toggle-job-profile-approved(disabled=!me.isAdmin())
|
||
i.icon-eye-open
|
||
span(data-i18n='account_profile.approved') Approved
|
||
else if me.isAdmin()
|
||
button.btn#toggle-job-profile-approved
|
||
i.icon-eye-close
|
||
span(data-i18n='account_profile.not_approved') Not Approved
|
||
if me.isAdmin() && !myProfile
|
||
button.btn.edit-settings-button#enter-espionage-mode 007
|
||
//if editing && myProfile
|
||
// a.sample-profile(href="http://codecombat.com/images/pages/account/profile/sample_profile.png", target="_blank")
|
||
// button.btn
|
||
// i.icon-user
|
||
// span(data-i18n="account_settings.sample_profile") See a sample profile
|
||
|
||
if profile && allowedToViewJobProfile
|
||
div(class="job-profile-container" + (editing ? " editable-profile" : ""))
|
||
.job-profile-row
|
||
.left-column.full-height-column
|
||
.sub-column
|
||
#profile-photo-container.editable-section(title="Click to change your photo")
|
||
.editable-icon.glyphicon.glyphicon-pencil
|
||
img.profile-photo(src=user.getPhotoURL(240, true))
|
||
.profile-caption= profile.jobTitle || 'Software Developer'
|
||
|
||
#links-container.editable-section
|
||
.editable-display(title="Click to add social and personal links")
|
||
.editable-icon.glyphicon.glyphicon-pencil
|
||
if profileLinks && profileLinks.length
|
||
ul.links.editable-thinner
|
||
each link in profileLinks
|
||
if link.link && link.name
|
||
li(title=profile.name + " on " + link.name, class=link.icon ? "has-icon" : "")
|
||
a(href=link.link)
|
||
if link.icon
|
||
img(src=link.icon.url, alt=link.icon.name)
|
||
else
|
||
button.btn.btn-large.btn-inverse.flat-button= link.name
|
||
else if editing
|
||
h3.edit-label(data-i18n="account_profile.add_links") Add some links
|
||
ul.links
|
||
li.has-icon
|
||
a(href='http://example.com')
|
||
img(src='/images/pages/account/profile/icon_github.png', alt='GitHub')
|
||
li.has-icon
|
||
a(href='http://example.com')
|
||
img(src='/images/pages/account/profile/icon_facebook.png', alt='Facebook')
|
||
li.has-icon
|
||
a(href='http://example.com')
|
||
img(src='/images/pages/account/profile/icon_twitter.png', alt='Twitter')
|
||
li.has-icon
|
||
a(href='http://example.com/')
|
||
img(src='/images/pages/account/profile/icon_linkedin.png', alt='LinkedIn')
|
||
button.btn.btn-large.btn-inverse.flat-button.edit-example-button(data-i18n="account_profile.example_blog") Blog
|
||
button.btn.btn-large.btn-inverse.flat-button.edit-example-button(data-i18n="account_profile.example_personal_site") Personal Site
|
||
|
||
form.editable-form
|
||
.editable-icon.glyphicon.glyphicon-remove
|
||
h3(data-i18n="account_profile.links_header") Personal Links
|
||
p.help-block(data-i18n="account_profile.links_blurb") Link any other sites or profiles you want to highlight, like your GitHub, your LinkedIn, or your blog.
|
||
.editable-array(data-property='links')
|
||
for link, index in (profile.links || []).concat({})
|
||
.array-item.link-container.well.well-sm
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.links_name") Link Name
|
||
input.form-control(type='link-name', maxlength='30', data-schemaformat='link-name', name="root[links][#{index}][name]", value=link.name, data-autocomplete="commonLinkNames", data-autocomplete-min-length=0)
|
||
if !index
|
||
p.help-block
|
||
span(data-i18n="account_profile.links_name_help") What are you linking to?
|
||
| Ex.: 'Personal Website', 'GitHub'
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.links_link") Link URL
|
||
input.form-control(type='url', pattern='^(ht|f)tp(s?)://[0-9a-zA-Z]([-.w]*[0-9a-zA-Z])*(:(0-9)*)*(/?)([a-zA-Z0-9-.?,\'/\+&%$#_=]*)?$', data-schemaformat='url', name="root[links][#{index}][link]", value=link.link)
|
||
if !index
|
||
p.help-block Ex.: "https://github.com/nwinter"
|
||
button.btn.btn-success.btn-block.save-section(data-i18n="common.save") Save
|
||
|
||
.editable-section#basic-info-container
|
||
- var editableDefaults = editing && profile.city == jobProfileSchema.properties.city.default
|
||
div(class="editable-display" + (editableDefaults ? " edit-example-text" : ""), title="Click to edit your basic info")
|
||
.editable-icon.glyphicon.glyphicon-pencil
|
||
if editableDefaults
|
||
h3.edit-label(data-i18n="account_profile.basics_header") Update basic info
|
||
div= profile.city + ', ' + profile.country
|
||
div= profile.visa
|
||
div
|
||
span(data-i18n="account_profile.looking_for") Looking for:
|
||
| #{profile.lookingFor}
|
||
div
|
||
span(data-i18n="account_profile.last_updated") Last updated:
|
||
| #{moment(profile.updated).fromNow()}
|
||
|
||
form.editable-form
|
||
.editable-icon.glyphicon.glyphicon-remove
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.basics_active") Open to Offers
|
||
select.form-control(name='root[active]')
|
||
option(value='1', selected=profile.active, data-i18n="account_profile.active") Looking for interview offers now
|
||
option(value='', selected=!profile.active, data-i18n="account_profile.inactive") Not looking for offers right now
|
||
p.help-block(data-i18n="account_profile.basics_active_help") Want interview offers right now?
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.basics_job_title") Desired Job Title
|
||
input.form-control(type='text', maxlength='50', name='root[jobTitle]', value=profile.jobTitle)
|
||
p.help-block
|
||
span(data-i18n="account_profile.basics_job_title_help") What role are you looking for?
|
||
| Ex.: "Full Stack Engineer", "Front-End Developer", "iOS Developer"
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.basics_city") City
|
||
input.form-control(type='city', maxlength='100', data-schemaformat='city', name='root[city]', value=profile.city, data-autocomplete="commonCities", data-autocomplete-min-length=1)
|
||
p.help-block
|
||
span(data-i18n="account_profile.basics_city_help") City you want to work in (or live in now).
|
||
| Ex.: "San Francisco", "Lubbock, TX"
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.basics_country") Country
|
||
input.form-control(type='country', maxlength='100', data-schemaformat='country', name='root[country]', value=profile.country, data-autocomplete="commonCountries", data-autocomplete-min-length=1)
|
||
p.help-block
|
||
span(data-i18n="account_profile.basics_country_help") Country you want to work in (or live in now).
|
||
| Ex.: "USA", "France"
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.basics_visa") US Work Status
|
||
select.form-control(name='root[visa]')
|
||
option(value='Authorized to work in the US', selected=profile.visa == 'Authorized to work in the US') Authorized to work in the US
|
||
option(value='Need visa sponsorship', selected=profile.visa == 'Need visa sponsorship') Need visa sponsorship
|
||
p.help-block(data-i18n="account_profile.basics_visa_help") Are you authorized to work in the US, or do you need visa sponsorship?
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.basics_looking_for") Looking For
|
||
select.form-control(name='root[lookingFor]')
|
||
option(value='Full-time', selected=profile.lookingFor == "Full-time", data-i18n="account_profile.basics_looking_for_full_time") Full-time
|
||
option(value='Part-time', selected=profile.lookingFor == "Part-time", data-i18n="account_profile.basics_looking_for_part_time") Part-time
|
||
option(value='Remote', selected=profile.lookingFor == "Remote", data-i18n="account_profile.basics_looking_for_remote") Remote
|
||
option(value='Contracting', selected=profile.lookingFor == "Contracting", data-i18n="account_profile.basics_looking_for_contracting") Contracting
|
||
option(value='Internship', selected=profile.lookingFor == "Internship", data-i18n="account_profile.basics_looking_for_internship") Internship
|
||
p.help-block(data-i18n="account_profile.basics_looking_for_help") What kind of developer position do you want?
|
||
button.btn.btn-success.btn-block.save-section(data-i18n="common.save") Save
|
||
|
||
if !editing && !myProfile
|
||
button#contact-candidate.btn.btn-large.btn-inverse.flat-button
|
||
span(data-i18n="account_profile.contact") Contact
|
||
| #{profile.name.split(' ')[0]}
|
||
|
||
.middle-column.full-height-column
|
||
.sub-column
|
||
#name-container.editable-section
|
||
.editable-display(title="Click to fill in your name")
|
||
.editable-icon.glyphicon.glyphicon-pencil
|
||
if editing && !profile.name
|
||
h3.edit-label(data-i18n="account_profile.name_header") Fill in your name
|
||
else if profile.name
|
||
h3= profile.name
|
||
else
|
||
h3(data-i18n="account_profile.name_anonymous") Anonymous Developer
|
||
|
||
form.editable-form
|
||
.editable-icon.glyphicon.glyphicon-remove
|
||
.form-group
|
||
label.control-label(data-i18n="general.name") Name
|
||
input.form-control(type='text', maxlength='100', name='root[name]', value=profile.name)
|
||
p.help-block(data-i18n="account_profile.name_help") Name you want employers to see, like 'Nick Winter'.
|
||
button.btn.btn-success.btn-block.save-section(data-i18n="common.save") Save
|
||
|
||
|
||
#short-description-container.editable-section
|
||
.editable-display(title="Click to write your tagline")
|
||
.editable-icon.glyphicon.glyphicon-pencil
|
||
if editing && (!profile.shortDescription || profile.shortDescription == jobProfileSchema.properties.shortDescription.default)
|
||
h3.edit-label(data-i18n="account_profile.short_description_header") Write a short description of yourself
|
||
p.edit-example-text(data-i18n="account_profile.short_description_blurb") Add a tagline to help an employer quickly learn more about you.
|
||
|
||
else if profile.shortDescription
|
||
p.editable-thinner= profile.shortDescription
|
||
|
||
form.editable-form
|
||
.editable-icon.glyphicon.glyphicon-remove
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.short_description") Tagline
|
||
textarea.form-control(rows=3, maxlength='140', name='root[shortDescription]')= profile.shortDescription
|
||
p.help-block(data-i18n="account_profile.short_description_help") Who are you, and what are you looking for? 140 characters max.
|
||
button.btn.btn-success.btn-block.save-section(data-i18n="common.save") Save
|
||
|
||
|
||
#skills-container.editable-section
|
||
.editable-display.editable-thinner(title="Click to tag your programming skills")
|
||
.editable-icon.glyphicon.glyphicon-pencil
|
||
if editing && (!profile.skills || !profile.skills.length || (profile.skills.length == 1 && profile.skills[0] == 'javascript'))
|
||
h3.edit-label Tag your programming skills
|
||
each skill in ["python", "coffeescript", "node", "ios", "objective-c", "javascript", "app-engine", "mongodb", "web dev", "django", "backbone"]
|
||
code.edit-example-tag= skill
|
||
span
|
||
else
|
||
each skill in profile.skills
|
||
code= skill
|
||
span
|
||
|
||
form.editable-form
|
||
.editable-icon.glyphicon.glyphicon-remove
|
||
h3(data-i18n="account_profile.skills_header") Skills
|
||
p.help-block
|
||
span(data-i18n="account_profile.skills_help") Tag relevant developer skills in order of proficiency.
|
||
| Ex.: "objective-c", "mongodb", "rails", "android", "javascript"
|
||
.editable-array(data-property='skills')
|
||
for skill, index in (profile.skills || []).concat('')
|
||
.array-item.skill-array-item
|
||
input.form-control(type='skill', maxlength='20', pattern='.{1,}', data-schemaformat='skill', name="root[skills][#{index}]", value=skill, data-autocomplete="commonSkills", data-autocomplete-min-length=1)
|
||
button.btn.btn-success.btn-block.save-section(data-i18n="common.save") Save
|
||
|
||
|
||
#long-description-container.editable-section
|
||
.editable-display(title="Click to start writing your longer description")
|
||
.editable-icon.glyphicon.glyphicon-pencil
|
||
- var modified = profile.longDescription && profile.longDescription != jobProfileSchema.properties.longDescription.default
|
||
if editing && !modified
|
||
h3.edit-label(data-i18n="account_profile.long_description_header") Describe your desired position
|
||
p.edit-example-text(data-i18n="account_profile.long_description_blurb") Tell employers how awesome you are and what role you want.
|
||
else if modified
|
||
div.long-description.editable-thinner!= marked(profile.longDescription)
|
||
|
||
form.editable-form
|
||
.editable-icon.glyphicon.glyphicon-remove
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.long_description") Self Description
|
||
textarea.form-control(rows=20, maxlength='600', data-schemaformat='markdown', name='root[longDescription]')= profile.longDescription
|
||
p.help-block(data-i18n="account_profile.long_description_help") Describe yourself to potential employers. Keep it short and to the point. We recommend outlining the position that would most interest you. Tasteful markdown okay; 600 characters max.
|
||
button.btn.btn-success.btn-block.save-section(data-i18n="common.save") Save
|
||
|
||
#work-container.editable-section
|
||
.editable-display(title="Click to add work experience")
|
||
.editable-icon.glyphicon.glyphicon-pencil
|
||
if profile.work && profile.work.length
|
||
h3.experience-header
|
||
img.header-icon(src="/images/pages/account/profile/work.png", alt="")
|
||
span(data-i18n="account_profile.work_experience") Work Experience
|
||
| - #{profile.experience}
|
||
|
|
||
span(data-i18n=profile.experience == 1 ? "units.year" : "units.years")
|
||
each job in profile.work
|
||
if job.role && job.employer
|
||
div.experience-entry
|
||
div.duration.pull-right= job.duration
|
||
| #{job.role} at #{job.employer}
|
||
.clearfix
|
||
if job.description
|
||
div!= marked(job.description)
|
||
else if editing
|
||
h3.experience-header.edit-label(data-i18n="account_profile.work_header") Chronicle your work history
|
||
|
||
div.experience-entry.edit-example-text
|
||
div.duration.pull-right June, 2012 - present
|
||
| UX Designer at Hooli
|
||
.clearfix
|
||
div Revolutionized CSS, refactored flattening, and designed all the things.
|
||
|
||
div.experience-entry.edit-example-text
|
||
div.duration.pull-right 1999 - 2012
|
||
| Software Engineer at Initrode
|
||
.clearfix
|
||
div Built a P2P streaming TPS report fulfillment system.
|
||
|
||
form.editable-form
|
||
.editable-icon.glyphicon.glyphicon-remove
|
||
h3(data-i18n="account_profile.work_experience") Work Experience
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.work_years") Years of Experience
|
||
input.form-control(type='text', name='root[experience]', value=profile.experience)
|
||
p.help-block(data-i18n="account_profile.work_years_help") How many years of professional experience (getting paid) developing software do you have?
|
||
p(data-i18n="account_profile.work_blurb") List your relevant work experience, most recent first.
|
||
.editable-array(data-property='work')
|
||
for job, index in (profile.work || []).concat({})
|
||
.array-item.well.well-sm
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.work_employer") Employer
|
||
input.form-control(type='text', maxlength='100', name="root[work][#{index}][employer]", value=job.employer)
|
||
p.help-block(data-i18n="account_profile.work_employer_help") Name of your employer.
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.work_role") Job Title
|
||
input.form-control(type='text', maxlength='100', name="root[work][#{index}][role]", value=job.role)
|
||
p.help-block(data-i18n="account_profile.work_role_help") What was your job title or role?
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.work_duration") Duration
|
||
input.form-control(type='text', maxlength='100', name="root[work][#{index}][duration]", value=job.duration)
|
||
p.help-block
|
||
span(data-i18n="account_profile.work_duration_help") When did you hold this gig?
|
||
| Ex.: "Feb 2013 - present".
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.work_description") Description
|
||
textarea.form-control(rows=3, maxlength='140', name="root[work][#{index}][description]")= job.description
|
||
p.help-block(data-i18n="account_profile.work_description_help") What did you do there? (140 chars; optional)
|
||
button.btn.btn-success.btn-block.save-section(data-i18n="common.save") Save
|
||
|
||
|
||
#education-container.editable-section
|
||
.editable-display(title="Click to add academic experience")
|
||
.editable-icon.glyphicon.glyphicon-pencil
|
||
if profile.education && profile.education.length
|
||
h3.experience-header
|
||
img.header-icon(src="/images/pages/account/profile/education.png", alt="")
|
||
span(data-i18n="account_profile.education") Education
|
||
each school in profile.education
|
||
if school.degree && school.school
|
||
div.experience-entry
|
||
div.duration.pull-right= school.duration
|
||
| #{school.degree} at #{school.school}
|
||
.clearfix
|
||
if school.description
|
||
div!= marked(school.description)
|
||
else if editing
|
||
h3.experience-header.edit-label(data-i18n="account_profile.education_header") Recount your academic ordeals
|
||
|
||
div.experience-entry.edit-example-text
|
||
div.duration.pull-right 1995 - 1997
|
||
| Ph.D. Janitorial Science at MIT
|
||
.clearfix
|
||
div Anonymously solved problems in algebraic graph theory. Swept floors.
|
||
|
||
form.editable-form
|
||
.editable-icon.glyphicon.glyphicon-remove
|
||
h3(data-i18n="accont_profile.education") Education
|
||
p(data-i18n="account_profile.education_blurb") List your academic ordeals.
|
||
.editable-array(data-property='education')
|
||
for school, index in (profile.education || []).concat({})
|
||
.array-item.well.well-sm
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.education_school") School
|
||
input.form-control(type='text', maxlength='100', name="root[education][#{index}][school]", value=school.school)
|
||
p.help-block(data-i18n="account_profile.education_school_help") Name of your school.
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.education_degree") Degree
|
||
input.form-control(type='text', maxlength='100', name="root[education][#{index}][degree]", value=school.degree)
|
||
p.help-block
|
||
span(data-i18n="account_profile.education_degree_help") What was your degree and field of study?
|
||
| Ex.: "Ph.D. Human-Computer Interaction (incomplete)"
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.education_duration") Dates
|
||
input.form-control(type='text', maxlength='100', name="root[education][#{index}][duration]", value=school.duration)
|
||
p.help-block
|
||
span(data-i18n="account_profile.education_duration_help") When?
|
||
| Ex.: "Aug 2004 - May 2008".
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.education_description") Description
|
||
textarea.form-control(rows=3, maxlength='140', name="root[education][#{index}][description]")= school.description
|
||
p.help-block(data-i18n="account_profile.education_description_help") Highlight anything about this educational experience. (140 chars; optional)
|
||
button.btn.btn-success.btn-block.save-section(data-i18n="common.save") Save
|
||
|
||
|
||
if user.get('jobProfileNotes') || me.isAdmin()
|
||
div(class="our-notes-section" + (editing ? " deemphasized" : ""))
|
||
h3.experience-header(data-i18n="account_profile.our_notes") Our Notes
|
||
- var notes = user.get('jobProfileNotes') || '';
|
||
if me.isAdmin()
|
||
textarea#job-profile-notes!= notes
|
||
button.btn.btn-primary#save-notes-button(data-i18n="common.save") Save
|
||
else
|
||
div!= marked(notes)
|
||
|
||
.right-column.full-height-column
|
||
.sub-column
|
||
#projects-container.editable-section
|
||
.editable-display(title="Click to add your projects")
|
||
.editable-icon.glyphicon.glyphicon-pencil
|
||
if profile.projects && profile.projects.length
|
||
h3(data-i18n="account_profile.projects") Projects
|
||
ul.projects
|
||
each project in profile.projects
|
||
if project.name
|
||
li
|
||
if project.link && project.link.length && project.link != 'http://example.com'
|
||
a(href=project.link)
|
||
if project.picture
|
||
.project-image(style="background-image: url('/file/" + project.picture + "')")
|
||
p= project.name
|
||
div!= marked(project.description)
|
||
else if editing
|
||
h3.edit-label(data-i18n="account_profile.projects_header") Add 3 projects
|
||
ul.projects
|
||
li.edit-example-text
|
||
.project-image(style="background-image: url('/images/pages/account/profile/sample_project.png')")
|
||
p Cog.js
|
||
div JS microlibrary to animate fixie bike cogs on ecommerce sites that sell bike hardware.
|
||
li.edit-example-text
|
||
.project-image(style="background-image: url('/images/pages/account/profile/sample_project.png')")
|
||
p Combjoy
|
||
div Ember.js project that schedules hair stylists to ride in Ubers with you to comb your hair on your way to work.
|
||
li.edit-example-text
|
||
.project-image(style="background-image: url('/images/pages/account/profile/sample_project.png')")
|
||
p Bass Drop
|
||
div Insert a few lines of JS into your site and get a "Drop the bass!" button for your website. Plays techno.
|
||
|
||
form.editable-form
|
||
.editable-icon.glyphicon.glyphicon-remove
|
||
h3(data-i18n="account_profile.projects_header_2") Projects (Top 3)
|
||
p(data-i18n="account_profile.projects_blurb") Highlight your projects to amaze employers.
|
||
for index in [0, 1, 2]
|
||
- var project = (profile.projects || [])[index] || {};
|
||
.array-item.well.well-sm
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.projects_name") Project Name
|
||
input.form-control(type='text', maxlength='100', name="root[projects][#{index}][name]", value=project.name)
|
||
p.help-block(data-i18n="account_profile.projects_name_help") What was the project called?
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.projects_description") Description
|
||
textarea.form-control(rows=6, maxlength='400', data-schemaformat='markdown', name="root[projects][#{index}][description]")= project.description
|
||
p.help-block(data-i18n="account_profile.projects_description_help") Briefly describe the project.
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.projects_picture") Picture
|
||
.project-image(style="background-image: url('" + (src=project.picture ? "/file/" + project.picture : "/images/pages/account/profile/sample_project.png") + "')")
|
||
input(type="hidden", name="root[projects][#{index}][picture]", value=project.picture)
|
||
p.help-block(data-i18n="account_profile.projects_picture_help") Upload a 230x115px or larger image showing off the project.
|
||
.form-group
|
||
label.control-label(data-i18n="account_profile.projects_link") Link
|
||
input.form-control(type='url', pattern='^(ht|f)tp(s?)://[0-9a-zA-Z]([-.w]*[0-9a-zA-Z])*(:(0-9)*)*(/?)([a-zA-Z0-9-.?,\'/\+&%$#_=]*)?$', data-schemaformat='url', name="root[projects][#{index}][link]", value=project.link)
|
||
p.help-block(data-i18n="account_profile.projects_link_help") Link to the project.
|
||
button.btn.btn-success.btn-block.save-section(data-i18n="common.save") Save
|
||
|
||
else if allowedToViewJobProfile
|
||
.public-profile-container
|
||
h2(data-i18n="common.loading") Loading...
|
||
|
||
else if user
|
||
.public-profile-container
|
||
h2
|
||
span(data-i18n="account_profile.profile_for_prefix") Profile for
|
||
span= user.get('name') || "Anonymous Wizard"
|
||
span(data-i18n="account_profile.profile_for_suffix")
|
||
|
||
img.profile-photo(src=user.getPhotoURL(256))
|
||
|
||
p To see a private user profile, you may need to log in.
|
||
|
||
else
|
||
.public-profile-container
|
||
h2
|
||
span(data-i18n="account_profile.profile_for_prefix") Profile for
|
||
span= userID
|
||
span(data-i18n="account_profile.profile_for_suffix")
|
||
|
|
||
span(data-i18n="loading_error.not_found")
|