habitica/website/views/shared/header/avatar.jade

97 lines
6.2 KiB
Text
Raw Normal View History

//- FIXME the commented-out figure.herobox used to have a functioning popover, but angular-ui-bootstrap doesn't support
html in popovers. Figure out what to do here. Also, {isUser:..} class seems to bring the user too far down with mounts.
Removing it will remove the user's name, but will allow more room for mounts & helms. IMO this is the lesser of two evils, revisit
//-figure.herobox(ng-click='clickMember(profile._id)', data-name='{{profile.profile.name}}', ng-class='{isUser: profile.id==user.id, hasPet: profile.items.currentPet}', data-level='{{profile.stats.lvl}}', data-uid='{{profile.id}}', rel='popover', data-placement='bottom', data-trigger='hover', data-html='true', data-content="<div ng-hide='profile.id == user.id'> <div class='progress progress-danger' style='height:5px;'> <div class='bar' style='height: 5px; width: {{percent(profile.stats.hp, 50)}}%;'></div> </div> <div class='progress progress-warning' style='height:5px;'> <div class='bar' style='height: 5px; width: {{percent(profile.stats.exp, tnl(profile.stats.lvl))}}%;'></div> </div> <div>Level: {{profile.stats.lvl}}</div> <div>GP: {{profile.stats.gp | number:0}}</div> <div>{{count(profile.items.pets)}} / 90 Pets Found</div> </div>")
mixin avatar(opts)
.character-sprites
.addthis_native_toolbox(ng-if='profile._id==user._id', data-url="#{env.BASE_URL}/static/front/#?memberId={{profile._id}}", data-title="Check out my HabitRPG progress!")
// Mount Body
if !opts.minimal
span(ng-if='profile.items.currentMount', class='Mount_Body_{{profile.items.currentMount}}')
2014-04-02 06:05:33 +00:00
span(ng-if='profile.stats.buffs.snowball')
span.snowman
span(ng-if='profile.stats.buffs.spookDust')
span.spookman
span(ng-if='profile.stats.buffs.shinySeed')
span(class='avatar_floral_{{profile.stats.class}}')
span(ng-if='!profile.stats.buffs.snowball && !profile.stats.buffs.spookDust && !profile.stats.buffs.shinySeed')
2015-04-02 03:36:07 +00:00
2014-04-02 06:05:33 +00:00
// Back Accessory
2015-04-02 03:36:07 +00:00
span(class='{{profile.items.gear.equipped.back}}', ng-if='!profile.preferences.costume')
span(class='{{profile.items.gear.costume.back}}', ng-if='profile.preferences.costume')
2014-02-23 04:03:37 +00:00
2014-04-02 06:05:33 +00:00
// Avatar
2015-04-02 03:36:07 +00:00
span(class='skin_{{profile.preferences.skin}}', ng-if='!profile.preferences.sleep')
span(class='skin_{{profile.preferences.skin}}_sleep', ng-if='profile.preferences.sleep')
2014-08-29 08:45:02 +00:00
2014-04-02 06:05:33 +00:00
// Shirt
2015-04-02 03:36:07 +00:00
span(class='{{profile.preferences.size}}_shirt_{{profile.preferences.shirt}}')
2014-02-23 04:03:37 +00:00
2014-04-02 06:05:33 +00:00
// Armor
2015-04-02 03:36:07 +00:00
span(class='{{profile.preferences.size}}_{{profile.items.gear.equipped.armor}}', ng-if='!profile.preferences.costume')
span(class='{{profile.preferences.size}}_{{profile.items.gear.costume.armor}}', ng-if='profile.preferences.costume')
2014-04-16 23:04:47 +00:00
//- Cape collar
2015-04-02 03:36:07 +00:00
span(class='{{profile.items.gear.equipped.back}}_collar', ng-if='!profile.preferences.costume')
span(class='{{profile.items.gear.costume.back}}_collar', ng-if='profile.preferences.costume')
2014-04-16 23:04:47 +00:00
2014-08-29 08:45:02 +00:00
// Body
2015-04-02 03:36:07 +00:00
span(class='{{profile.items.gear.equipped.body}}', ng-if='!profile.preferences.costume')
span(class='{{profile.items.gear.costume.body}}', ng-if='profile.preferences.costume')
2014-04-02 06:05:33 +00:00
// Hair
2015-04-02 03:36:07 +00:00
span(class='head_0')
span(class='hair_base_{{profile.preferences.hair.base}}_{{profile.preferences.hair.color}}')
span(class='hair_bangs_{{profile.preferences.hair.bangs}}_{{profile.preferences.hair.color}}')
span(class='hair_mustache_{{profile.preferences.hair.mustache}}_{{profile.preferences.hair.color}}')
span(class='hair_beard_{{profile.preferences.hair.beard}}_{{profile.preferences.hair.color}}')
2013-12-05 10:31:02 +00:00
2014-08-29 08:45:02 +00:00
// Eyewear
2015-04-02 03:36:07 +00:00
span(class='{{profile.items.gear.equipped.eyewear}}', ng-if='!profile.preferences.costume')
span(class='{{profile.items.gear.costume.eyewear}}', ng-if='profile.preferences.costume')
2014-08-29 08:45:02 +00:00
2014-04-02 06:05:33 +00:00
// Helm
2015-04-02 03:36:07 +00:00
span(class='{{profile.items.gear.equipped.head}}', ng-if='!profile.preferences.costume')
span(class='{{profile.items.gear.costume.head}}', ng-if='profile.preferences.costume')
2014-04-02 06:05:33 +00:00
// Head Accessory
2015-04-02 03:36:07 +00:00
span(class='{{profile.items.gear.equipped.headAccessory}}', ng-if='!profile.preferences.costume')
span(class='{{profile.items.gear.costume.headAccessory}}', ng-if='profile.preferences.costume')
2014-03-21 19:17:17 +00:00
2014-04-02 06:05:33 +00:00
// Flower
2015-04-01 01:17:01 +00:00
span(class='hair_flower_{{profile.preferences.hair.flower}}')
2014-04-02 06:05:33 +00:00
// Shield
2015-04-02 03:36:07 +00:00
span(class='{{profile.items.gear.equipped.shield}}', ng-if='!profile.preferences.costume')
span(class='{{profile.items.gear.costume.shield}}', ng-if='profile.preferences.costume')
2014-04-02 06:05:33 +00:00
// Weapon
2015-04-02 03:36:07 +00:00
span(class='{{profile.items.gear.equipped.weapon}}', ng-if='!profile.preferences.costume')
span(class='{{profile.items.gear.costume.weapon}}', ng-if='profile.preferences.costume')
// Mount Head
if !opts.minimal
span.current-mount(ng-if='profile.items.currentMount', class='Mount_Head_{{profile.items.currentMount}}')
// Resting
span(ng-class='{zzz:profile.preferences.sleep}')
if !opts.minimal
span.current-pet(class='Pet-{{profile.items.currentPet}}', ng-show='profile.items.currentPet')
mixin herobox(opts)
- if (!opts) {opts = {minimal:false,main:false}}
figure.herobox(ng-click='spell ? castEnd(profile, "user", $event) : clickMember(profile._id)', data-name='{{profile.profile.name}}', class='background_{{profile.preferences.background}} #{opts.main ? "isUser" : ""} #{opts.minimal ? "minimal" : ""}', ng-class='{hasPet: (#{!opts.minimal} && profile.items.currentPet), hasMount: (#{!opts.minimal} && profile.items.currentMount), noBackgroundImage: !profile.preferences.background, "cast-target": applyingAction, isLeader: party.leader==profile._id}')
.avatar-name(ng-class='userLevelStyle(profile)')
2014-08-17 11:32:09 +00:00
|{{profile.profile.name}}
+avatar(opts)
.avatar-level(ng-class='userLevelStyle(profile)')
2014-08-29 18:51:12 +00:00
span.glyphicon.glyphicon-circle-arrow-up(ng-show='profile.stats.buffs.str || profile.stats.buffs.per || profile.stats.buffs.con || profile.stats.buffs.int || profile.stats.buffs.stealth', tooltip=env.t('buffed'), tooltip-append-to-body="true")
span(tooltip=env.t('level'), tooltip-append-to-body="true") {{profile.stats.lvl}}
span.glyphicon.glyphicon-plus-sign(ng-show='profile.achievements.rebirths', tooltip=env.t('reborn', {reLevel: "{{profile.achievements.rebirthLevel}}"}), tooltip-append-to-body="true")