mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-12-25 06:52:21 -05:00
43fb8ed462
Top-level menu, world view, user profiles. Will add to /teachers later.
170 lines
7.5 KiB
Text
170 lines
7.5 KiB
Text
extends /templates/common/user
|
|
|
|
block append content
|
|
ol.breadcrumb
|
|
li
|
|
a(href="/")
|
|
span.glyphicon.glyphicon-home
|
|
li
|
|
a(href="/account", data-i18n="nav.account")
|
|
li.active(data-i18n="nav.profile")
|
|
|
|
if user
|
|
.vertical-buffer
|
|
.row
|
|
.left-column
|
|
.profile-wrapper
|
|
img.picture(src="#{user.getPhotoURL(150)}" alt="")
|
|
div.profile-info
|
|
h3.name= user.get('name')
|
|
if favoriteLanguage
|
|
div.extra-info
|
|
span(data-i18n="user.favorite_prefix") Favorite language is
|
|
strong.favorite-language= favoriteLanguage
|
|
span(data-i18n="user.favorite_postfix") .
|
|
- var emails = user.getEnabledEmails()
|
|
// TODO: fix this, use some other method for finding contributor classes other than email settings, since they're private... Maybe achievements?
|
|
if emails
|
|
ul.contributor-categories
|
|
//li.contributor-category
|
|
img.contributor-image(src="/images/pages/user/general.png")
|
|
h4.contributor-title CodeCombateer
|
|
if emails.adventurerNews
|
|
li.contributor-category
|
|
img.contributor-image(src="/images/pages/user/adventurer.png")
|
|
h4.contributor-title
|
|
a(href="/contribute#adventurer" data-i18n="classes.adventurer_title") Adventurer
|
|
if emails.ambassadorNews
|
|
li.contributor-category
|
|
img.contributor-image(src="/images/pages/user/ambassador.png")
|
|
h4.contributor-title
|
|
a(href="/contribute#ambassador" data-i18n="classes.ambassador_title") Ambassador
|
|
if emails.archmageNews
|
|
li.contributor-category
|
|
img.contributor-image(src="/images/pages/user/archmage.png")
|
|
h4.contributor-title
|
|
a(href="/contribute#archmage" data-i18n="classes.archmage_title") Archmage
|
|
if emails.artisanNews
|
|
li.contributor-category
|
|
img.contributor-image(src="/images/pages/user/artisan.png")
|
|
h4.contributor-title
|
|
a(href="/contribute#artisan" data-i18n="classes.artisan_title") Artisan
|
|
if emails.scribeNews
|
|
li.contributor-category
|
|
img.contributor-image(src="/images/pages/user/scribe.png")
|
|
h4.contributor-title
|
|
a(href="/contribute#scribe" data-i18n="classes.scribe_title") Scribe
|
|
|
|
.right-column
|
|
|
|
.panel.panel-default
|
|
.panel-heading
|
|
h3.panel-title Clans
|
|
if (!clans)
|
|
.panel-body
|
|
p(data-i18n="common.loading")
|
|
else if (clans.length)
|
|
table.table
|
|
tr
|
|
th.col-xs-4 Name
|
|
th.col-xs-4 Chieftain
|
|
th.col-xs-4 Heroes
|
|
each clan in clans
|
|
tr
|
|
td
|
|
a(href="/clans/#{clan.id}")= clan.get('name')
|
|
td
|
|
if idNameMap && idNameMap[clan.get('ownerID')]
|
|
a(href="/user/#{clan.get('ownerID')}")= idNameMap[clan.get('ownerID')]
|
|
else
|
|
a(href="/user/#{clan.get('ownerID')}") Anoner
|
|
td= clan.get('members').length
|
|
else
|
|
.panel-body
|
|
p Not a member of any clans yet.
|
|
|
|
.panel.panel-default
|
|
.panel-heading
|
|
h3.panel-title(data-i18n="user.singleplayer_title") Singleplayer Levels
|
|
if (!singlePlayerSessions)
|
|
.panel-body
|
|
p(data-i18n="common.loading") Loading...
|
|
else if (singlePlayerSessions.length)
|
|
table.table
|
|
tr
|
|
th.col-xs-4(data-i18n="resources.level") Level
|
|
th.col-xs-4(data-i18n="user.last_played") Last Played
|
|
th.col-xs-4(data-i18n="user.status") Status
|
|
- var count = 0
|
|
each session, index in singlePlayerSessions
|
|
if session.get('levelName')
|
|
tr(class=count > 4 ? 'hide' : '')
|
|
- count++;
|
|
td
|
|
a(href="/play/level/#{session.get('levelID')}")= session.get('levelName')
|
|
td= moment(session.get('changed')).fromNow()
|
|
if session.get('state') && session.get('state').complete === true
|
|
td(data-i18n="user.status_completed") Completed
|
|
else
|
|
td(data-i18n="user.status_unfinished") Unfinished
|
|
if count > 4
|
|
.panel-footer
|
|
button.btn.btn-info.btn-sm.more-button(data-i18n="editor.more")
|
|
else
|
|
.panel-body
|
|
p(data-i18n="user.no_singleplayer") No Singleplayer games played yet.
|
|
.panel.panel-default
|
|
.panel-heading
|
|
h3.panel-title(data-i18n="user.multiplayer_title") Multiplayer Levels
|
|
if (!multiPlayerSessions)
|
|
.panel-body
|
|
p(data-i18n="common.loading") Loading...
|
|
else if (multiPlayerSessions.length)
|
|
table.table
|
|
tr
|
|
th.col-xs-4(data-i18n="resources.level") Level
|
|
th.col-xs-4(data-i18n="user.last_played") Last Played
|
|
th.col-xs-4(data-i18n="general.score") Score
|
|
each session, index in multiPlayerSessions
|
|
tr(class=index > 4 ? 'hide' : '')
|
|
td
|
|
- var posturl = ''
|
|
- if (session.get('team')) posturl = '?team=' + session.get('team')
|
|
a(href="/play/level/#{session.get('levelID') + posturl}")= session.get('levelName') + (session.get('team') ? ' (' + session.get('team') + ')' : '')
|
|
td= moment(session.get('changed')).fromNow()
|
|
if session.get('totalScore')
|
|
td= parseInt(session.get('totalScore') * 100)
|
|
else
|
|
td(data-i18n="user.status_unfinished") Unfinished
|
|
if multiPlayerSessions.length > 4
|
|
.panel-footer
|
|
button.btn.btn-info.btn-sm.more-button(data-i18n="editor.more")
|
|
else
|
|
.panel-body
|
|
p(data-i18n="user.no_multiplayer") No Multiplayer games played yet.
|
|
.panel.panel-default
|
|
.panel-heading
|
|
h3.panel-title(data-i18n="user.achievements_title") Achievements
|
|
if ! earnedAchievements
|
|
.panel-body
|
|
p(data-i18n="common.loading") Loading...
|
|
else if ! earnedAchievements.length
|
|
.panel-body
|
|
p(data-i18n="user.no_achievements") No achievements earned so far.
|
|
else
|
|
table.table
|
|
tr
|
|
th.col-xs-4(data-i18n="achievements.achievement") Achievement
|
|
th.col-xs-4(data-i18n="achievements.last_earned") Last Earned
|
|
th.col-xs-4(data-i18n="achievements.amount_achieved") Amount
|
|
each achievement, index in earnedAchievements.models
|
|
tr(class=index > 4 ? 'hide' : '')
|
|
td= achievement.get('achievementName')
|
|
td= moment().format("MMMM Do YYYY", achievement.get('changed'))
|
|
if achievement.get('achievedAmount')
|
|
td= achievement.get('achievedAmount')
|
|
else
|
|
td
|
|
if earnedAchievements.length > 4
|
|
.panel-footer
|
|
button.btn.btn-info.btn-sm.more-button(data-i18n="editor.more")
|