From 47085de1e157e0882249befb913b38babb6d527c Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 17:29:53 +0100 Subject: [PATCH 01/22] Update index.jade --- views/options/index.jade | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/views/options/index.jade b/views/options/index.jade index e5a10f7865..96f0a42379 100644 --- a/views/options/index.jade +++ b/views/options/index.jade @@ -13,19 +13,19 @@ script(id='partials/options.html', type="text/ng-template") li(ng-class="{ active: $state.includes('options.profile') }") a(ui-sref='options.profile') i.icon-user - | Profile + | env.t('profile') li(ng-class="{ active: $state.includes('options.social') }") a(ui-sref='options.social') i.icon-heart - | Social + | env.t('social') li(ng-class="{ active: $state.includes('options.inventory') }", ng-if='user.flags.dropsEnabled') a(ui-sref='options.inventory') i.icon-gift - | Inventory + | env.t('inventory') li(ng-class="{ active: $state.includes('options.settings') }") a(ui-sref='options.settings') i.icon-wrench - | Settings + | env.t('settings') .tab-content .tab-pane.active From 6f19cdaf6c932b05657784928ffe1608824edccc Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 18:27:48 +0100 Subject: [PATCH 02/22] Update profile.jade --- views/options/profile.jade | 116 ++++++++++++++++++------------------- 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/views/options/profile.jade b/views/options/profile.jade index 9cd4a0a553..64bfdbe502 100644 --- a/views/options/profile.jade +++ b/views/options/profile.jade @@ -1,109 +1,109 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') .row-fluid .span4 - h3 Body + h3 env.t('bodybody') small. - 2 / locked + 2 / env.t('locked') - h5 Size + h5 env.t('bodysize') .btn-group - button.btn.btn-small(ng-class='{active: user.preferences.size=="slim"}', ng-click='set({"preferences.size":"slim"})') Slim - button.btn.btn-small(ng-class='{active: user.preferences.size=="broad"}', ng-click='set({"preferences.size":"broad"})') Broad + button.btn.btn-small(ng-class='{active: user.preferences.size=="slim"}', ng-click='set({"preferences.size":"slim"})') env.t('bodyslim') + button.btn.btn-small(ng-class='{active: user.preferences.size=="broad"}', ng-click='set({"preferences.size":"broad"})') env.t('bodybroad') menu(type='list') li.customize-menu - menu(label='Shirts') + menu(label=env.t('shirts')) each shirt in ['black', 'blue', 'green', 'pink', 'white', 'yellow'] button.customize-option(class='{{user.preferences.size}}_shirt_'+shirt, type='button', ng-click='set({"preferences.shirt":"'+shirt+'"})') - menu(label='Special Shirts') + menu(label=env.t('specialshirts')) each shirt in ['convict', 'cross', 'fire', 'horizon', 'ocean', 'purple', 'rainbow', 'redblue', 'thunder', 'tropical', 'zombie'] button.customize-option(type='button', class='{{user.preferences.size}}_shirt_'+shirt, ng-class='{locked: !user.purchased.shirt.'+shirt+'}', ng-click='unlock("shirt.'+shirt+'")') menu - button.btn.btn-small.btn-primary(ng-hide="user.purchased.shirt.convict && user.purchased.shirt.cross && user.purchased.shirt.fire && user.purchased.shirt.horizon && user.purchased.shirt.ocean && user.purchased.shirt.purple && user.purchased.shirt.rainbow && user.purchased.shirt.redblue && user.purchased.shirt.thunder && user.purchased.shirt.tropical && user.purchased.shirt.zombie", ng-click='unlock("shirt.convict,shirt.cross,shirt.fire,shirt.horizon,shirt.ocean,shirt.purple,shirt.rainbow,shirt.redblue,shirt.thunder,shirt.tropical,shirt.zombie")') Unlock Set - 5 + button.btn.btn-small.btn-primary(ng-hide="user.purchased.shirt.convict && user.purchased.shirt.cross && user.purchased.shirt.fire && user.purchased.shirt.horizon && user.purchased.shirt.ocean && user.purchased.shirt.purple && user.purchased.shirt.rainbow && user.purchased.shirt.redblue && user.purchased.shirt.thunder && user.purchased.shirt.tropical && user.purchased.shirt.zombie", ng-click='unlock("shirt.convict,shirt.cross,shirt.fire,shirt.horizon,shirt.ocean,shirt.purple,shirt.rainbow,shirt.redblue,shirt.thunder,shirt.tropical,shirt.zombie")') env.t('unlockset5') .span4 - h3 Head + h3 env.t('bodyhead') small. - 2 / locked + 2 / env.t('locked') menu(type='list') // Color li.customize-menu - menu(label='Color') + menu(label=env.t('color')) each v,k in {'c8c8c8':'white','903a00':'brown','cfb853':'blond','ec720f':'red','2e2e2e':'black'} button(type='button', class='customize-option', style='width: 40px; height: 40px; background-color:##{k};', ng-click='set({"preferences.hair.color": "#{v}"})') // Special Events li.customize-menu.well.limited-edition .label.label-info.pull-right(popover='Available for purchase until January 31st (but permanently in your options if purchased).', popover-title='Limited Edition', popover-placement='right', popover-trigger='mouseenter') - | Limited Edition  + | env.t('limitededition') i.icon.icon-question-sign - menu(label='Winter Colors') + menu(label=env.t('wintercolors')) each color in ['candycane','frost','winternight','holly'] button(type='button', ng-class='{locked: !user.purchased.hair.color.#{color}}', class='customize-option hair_bangs_1_#{color}', style='width: 40px; height: 40px;', ng-click='unlock("hair.color.#{color}")') - button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.color.candycane && user.purchased.hair.color.frost && user.purchased.hair.color.winternight && user.purchased.hair.color.holly', ng-click='unlock("hair.color.candycane,hair.color.frost,hair.color.winternight,hair.color.holly")') Unlock Set - 5 + button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.color.candycane && user.purchased.hair.color.frost && user.purchased.hair.color.winternight && user.purchased.hair.color.holly', ng-click='unlock("hair.color.candycane,hair.color.frost,hair.color.winternight,hair.color.holly")') env.t('unlockset5') - h5 Hair + h5 env.t('bodyhair') // Bangs li.customize-menu - menu(label='Bangs') + menu(label=env.t('hairbangs')) button(class='head_0 customize-option', type='button', ng-click='set({"preferences.hair.bangs":0})') each num in [1,2,3] button(class='hair_bangs_#{num}_{{user.preferences.hair.color}} customize-option', type='button', ng-click='set({"preferences.hair.bangs":#{num}})') // Base li.customize-menu - menu(label='Base') + menu(label=env.t('hairbase')) button(class='head_0 customize-option', type='button', ng-click='set({"preferences.hair.base":0})') each v,k in {1:true,2:false,3:true,4:false,5:false,6:false,7:false,8:false} case v when true: button(class='hair_base_#{k}_{{user.preferences.hair.color}} customize-option', type='button', ng-click='set({"preferences.hair.base":#{k}})') when false: button(class='hair_base_#{k}_{{user.preferences.hair.color}} customize-option', type='button', ng-class='{locked: !user.purchased.hair.base.#{k}}', ng-click='unlock("hair.base.#{k}")') - button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.base.2 && user.purchased.hair.base.4 && user.purchased.hair.base.5 && user.purchased.hair.base.6 && user.purchased.hair.base.7 && user.purchased.hair.base.8', ng-click='unlock("hair.base.2,hair.base.4,hair.base.5,hair.base.6,hair.base.7,hair.base.8")') Unlock Set - 5 + button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.base.2 && user.purchased.hair.base.4 && user.purchased.hair.base.5 && user.purchased.hair.base.6 && user.purchased.hair.base.7 && user.purchased.hair.base.8', ng-click='unlock("hair.base.2,hair.base.4,hair.base.5,hair.base.6,hair.base.7,hair.base.8")') env.t('unlockset5') - h5 Facial Hair + h5 env.t('bodyfacialhair') // Beard li.customize-menu - menu(label='Beard') + menu(label=env.t('beard')) button(class='head_0 customize-option', type='button', ng-click='set({"preferences.hair.beard":0})') each num in [1,2,3] button(class='hair_beard_#{num}_{{user.preferences.hair.color}} customize-option', type='button', ng-class='{locked: !user.purchased.hair.beard.#{num}}', ng-click='unlock("hair.beard.#{num}")') // Mustache li.customize-menu - menu(label='Mustache') + menu(label=env.t('mustache')) button(class='head_0 customize-option', type='button', ng-click='set({"preferences.hair.mustache":0})') each num in [1,2] button(class='hair_mustache_#{num}_{{user.preferences.hair.color}} customize-option', type='button', ng-class='{locked: !user.purchased.hair.mustache.#{num}}', ng-click='unlock("hair.mustache.#{num}")') - button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.mustache.1 && user.purchased.hair.mustache.2 && user.purchased.hair.beard.1 && user.purchased.hair.beard.2 && user.purchased.hair.beard.3', ng-click='unlock("hair.mustache.1,hair.mustache.2,hair.beard.1,hair.beard.2,hair.beard.3")') Unlock Set - 5 + button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.mustache.1 && user.purchased.hair.mustache.2 && user.purchased.hair.beard.1 && user.purchased.hair.beard.2 && user.purchased.hair.beard.3', ng-click='unlock("hair.mustache.1,hair.mustache.2,hair.beard.1,hair.beard.2,hair.beard.3")') env.t('unlockset5') .span4 - h3 Skin + h3 env.t('skin') small. - 2 / locked + 2 / env.t('locked') // skin li.customize-menu - menu(label='Basic Skins') + menu(label=env.t('basicskins')) each color in ['ddc994','f5a76e','ea8349','c06534','98461a','915533','c3e1dc','6bd049'] button.customize-option(type='button', class='skin_#{color}', ng-click='set({"preferences.skin":"#{color}"})') // Rainbow Skin h5. - Rainbow Skins + env.t('rainbowskins') //menu(label='Rainbow Skins (2G / skin)') menu each color in ['eb052b','f69922','f5d70f','0ff591','2b43f6','d7a9f7','800ed0','rainbow'] button.customize-option(type='button', class='skin_#{color}', ng-class='{locked: !user.purchased.skin.#{color}}', ng-click='unlock("skin.#{color}")') - button.btn.btn-small.btn-primary(ng-hide='user.purchased.skin.eb052b && user.purchased.skin.f69922 && user.purchased.skin.f5d70f && user.purchased.skin.0ff591 && user.purchased.skin.2b43f6 && user.purchased.skin.d7a9f7 && user.purchased.skin.800ed0 && user.purchased.skin.rainbow', ng-click='unlock("skin.eb052b,skin.f69922,skin.f5d70f,skin.0ff591,skin.2b43f6,skin.d7a9f7,skin.800ed0,skin.rainbow")') Unlock Set - 5 + button.btn.btn-small.btn-primary(ng-hide='user.purchased.skin.eb052b && user.purchased.skin.f69922 && user.purchased.skin.f5d70f && user.purchased.skin.0ff591 && user.purchased.skin.2b43f6 && user.purchased.skin.d7a9f7 && user.purchased.skin.800ed0 && user.purchased.skin.rainbow', ng-click='unlock("skin.eb052b,skin.f69922,skin.f5d70f,skin.0ff591,skin.2b43f6,skin.d7a9f7,skin.800ed0,skin.rainbow")') env.t('unlockset5') // Special Events // restore to d4df481 to see purchasing + "limited edition" code div(ng-if='user.purchased.skin.monster || user.purchased.skin.pumpkin || user.purchased.skin.skeleton || user.purchased.skin.zombie || user.purchased.skin.ghost || user.purchased.skin.shadow') - h5 Spooky Skins + h5 env.t('spookyskins') menu each color in ['monster','pumpkin','skeleton','zombie','ghost','shadow'] button.customize-option(type='button', class='skin_#{color}', ng-if='user.purchased.skin.#{color}', ng-click='unlock("skin.#{color}")') @@ -113,49 +113,49 @@ script(id='partials/options.profile.stats.html', type='text/ng-template') .border-right(ng-class='user.flags.classSelected && !user.preferences.disableClasses ? "span4" : "span6"') include ../shared/profiles/stats .span4.border-right.allocate-stats(ng-if='user.flags.classSelected && !user.preferences.disableClasses') - h3 Character Build - h4 Class:  - span {{ {warrior:'Warrior',wizard:'Mage',healer:'Healer',rogue:'Rogue'}[user.stats.class] }}  + h3 env.t('characterbuild') + h4 env.t('class'): + span {{ {warrior:env.t('warrior'),wizard:env.t('mage'),healer:env.t('healer'),rogue:env.t('rogue')}[user.stats.class] }}  a.btn.btn-danger.btn-mini(ng-click='changeClass(null)') - | Change Class, Refund Attribute Points  + | env.t('changeclass') small 3 - h5(popover-trigger='mouseenter', popover-placement='left', popover="Each level earns you one point to assign to an attribute of your choice. You can do so manually, or let the game decide for you using one of the Automatic Allocation options.") Unallocated Attribute Points: {{user.stats.points}}  + h5(popover-trigger='mouseenter', popover-placement='left', popover=env.t('levelpopover')) env.t('unallocated') {{user.stats.points}}  fieldset.auto-allocate label.checkbox input(type='checkbox', ng-model='user.preferences.automaticAllocation', ng-change='set({"preferences.automaticAllocation": user.preferences.automaticAllocation?true: false})', ng-click='set({"preferences.allocationMode":"taskbased"})') - | Automatic Allocation  - i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover="Places points into attributes according to your preferences, when you level up.") + | env.t('automaticallocation') + i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('automaticallocationpopover')) form(ng-show='user.preferences.automaticAllocation',style='margin-left:1em') label.radio input(type='radio', name='allocationMode', value='flat', ng-model='user.preferences.allocationMode', ng-change='set({"preferences.allocationMode": "flat"})') - | Distribute attribute points evenly  - i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover="Assigns the same number of points to each attribute.") + | env.t('evenallocation') + i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover="env.t('evenallocationpopover')) label.radio input(type='radio', name='allocationMode', value='classbased', ng-model='user.preferences.allocationMode', ng-change='set({"preferences.allocationMode": "classbased"})') - | Distribute attribute points based on Class  - i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover="Assigns more points to the attributes important to your Class.") + | env.t('') + i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('classallocationpopover')) label.radio input(type='radio', name='allocationMode', value='taskbased', ng-model='user.preferences.allocationMode', ng-change='set({"preferences.allocationMode": "taskbased"})') - | Distribute attribute points based on task activity  - i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover="Assigns points based on the Physical (STR), Mental (INT), Social (CON), and Other (PER) categories associated with the tasks you complete.") + | env.t('taskallocation') + i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('taskallocationpopover')) table.table.table-striped tr - td Points allocated to STR: {{user.stats.str}} + td env.t('allocatestr') {{user.stats.str}} td - a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("str")', popover-trigger='mouseenter', popover-placement='right', popover="Add a point to Strength") + + a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("str")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocatestrpop')) + tr - td Points allocated to CON: {{user.stats.con}} + td env.t('allocatecon') {{user.stats.con}} td - a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("con")', popover-trigger='mouseenter', popover-placement='right', popover="Add a point to Constitution") + + a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("con")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocateconpop')) + tr - td Points allocated to PER: {{user.stats.per}} + td env.t('allocateper') {{user.stats.per}} td - a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("per")', popover-trigger='mouseenter', popover-placement='right', popover="Add a point to Perception") + + a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("per")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocateperpop')) + tr - td Points allocated to INT: {{user.stats.int}} + td env.t('allocateint') {{user.stats.int}} td - a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("int")', popover-trigger='mouseenter', popover-placement='right', popover="Add a point to Intelligence") + + a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("int")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocateintpop')) + div(ng-class='user.flags.classSelected && !user.preferences.disableClasses ? "span4" : "span6"') include ../shared/profiles/achievements @@ -163,15 +163,15 @@ script(id='partials/options.profile.profile.html', type='text/ng-template') button.btn.btn-default(ng-click='_editing.profile = true', ng-show='!_editing.profile') Edit button.btn.btn-primary(ng-click='save()', ng-show='_editing.profile') Save div(ng-show='!_editing.profile') - h4 Display Name + h4 env.t('displayname') span(ng-show='profile.profile.name') {{profile.profile.name}} span.muted(ng-hide='profile.profile.name') - None - - h4 Photo + h4 env.t('displayphoto') img(ng-show='profile.profile.imageUrl', ng-src='{{profile.profile.imageUrl}}') span.muted(ng-hide='profile.profile.imageUrl') - None - - h4 Blurb + h4 env.t('displayblub') markdown(ng-show='profile.profile.blurb', ng-model='profile.profile.blurb') span.muted(ng-hide='profile.profile.blurb') - None - //{{profile.profile.blurb | linky:'_blank'}} @@ -179,13 +179,13 @@ script(id='partials/options.profile.profile.html', type='text/ng-template') div.whatever-options(ng-show='_editing.profile') // TODO use photo-upload instead: https://groups.google.com/forum/?fromgroups=#!topic/derbyjs/xMmADvxBOak .control-group.option-large - label.control-label Display Name + label.control-label env.t('displayname') input.option-content(type='text', placeholder='Full Name', ng-model='editingProfile.name') .control-group.option-large - label.control-label Photo Url + label.control-label env.t('photourl') input.option-content(type='url', ng-model='editingProfile.imageUrl', placeholder='Image Url') .control-group.option-large - label.control-label Blurb + label.control-label env.t('displayblurb') textarea.option-content(style='height:15em;', placeholder='Blurb', ng-model='editingProfile.blurb') include ../shared/formatting-help @@ -193,13 +193,13 @@ script(id='partials/options.profile.html', type="text/ng-template") ul.nav.nav-tabs li(ng-class="{ active: $state.includes('options.profile.avatar') }") a(ui-sref='options.profile.avatar') - | Avatar + | env.t('avatar') li(ng-class="{ active: $state.includes('options.profile.stats') }") a(ui-sref='options.profile.stats') - | Stats & Achievements + | env.t('statsach') li(ng-class="{ active: $state.includes('options.profile.profile') }") a(ui-sref='options.profile.profile') - | Profile + | env.t('profile') .tab-content .tab-pane.active From 6dd0e48887fe71aff914dde2a4d0b0294fb7f004 Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 18:56:39 +0100 Subject: [PATCH 03/22] Update settings.jade --- views/options/settings.jade | 86 ++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/views/options/settings.jade b/views/options/settings.jade index edf3ca33d1..daa5393a16 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -17,89 +17,89 @@ script(id='partials/options.settings.html', type="text/ng-template") script(type='text/ng-template', id='partials/options.settings.settings.html') .row-fluid .personal-options.span6 - h2 Settings - h4 Custom Day Start + h2 env.t('settings') + h4 env.t('customDayStart') .option-group.option-short input.option-content.option-time(type='number', min='0', max='24', ng-model='user.preferences.dayStart', ng-change='saveDayStart()') - span.input-suffix :00 (24h clock) + span.input-suffix :00 (env.t('24HrClock')) div small - div Habit defaults to check and reset your dailies at midnight in your time zone each day. You can customize the hour here (enter a number between 0 and 24). + div env.t('clockInfo') .alert.alert-danger Warning: this is a highly-experimental feature, and many experience issues with it. hr - h4 Language + h4 env.t('language') select(ng-model='language.code', ng-options='lang.code as lang.name for lang in avalaibleLanguages', ng-change='changeLanguage()') hr - h4 Misc + h4 env.t('') label.checkbox input(type='checkbox', ng-click='set({"preferences.hideHeader":user.preferences.hideHeader?false:true})', ng-checked='user.preferences.hideHeader!==true') - | Show header  - i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover='Show your avatar, Health/Experience bars, and party.') + | env.t('showHeader') + i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('showHeaderpop')) label.checkbox input(type='checkbox', ng-click='toggleStickyHeader()', ng-checked='user.preferences.stickyHeader!==false') - | Sticky header  - i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover='Affix the header to the top of the screen. Unchecked means it scrolls out of view.') + | env.t('stickyHeader') + i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('stickyHeaderpop')) label.checkbox input(type='checkbox', ng-model='user.preferences.newTaskEdit', ng-change='set({"preferences.newTaskEdit": user.preferences.newTaskEdit?true: false})') - | Open new tasks in edit mode  - i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover='With this option set, new tasks will immediately open for you to add details like notes and tags.') + | env.t('newtaskedit') + i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('newtaskeditpop')) label.checkbox input(type='checkbox', ng-model='user.preferences.tagsCollapsed', ng-change='set({"preferences.tagsCollapsed": user.preferences.tagsCollapsed?true: false})') - | Tag list in tasks starts collapsed  - i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover='With this option set, the list of task tags will be hidden when you first open a task for editing.') + | env.t('startcollapsed') + i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('startcollapsedpop')) label.checkbox input(type='checkbox', ng-model='user.preferences.advancedCollapsed', ng-change='set({"preferences.advancedCollapsed": user.preferences.advancedCollapsed?true: false})') - | Advanced Options in tasks start collapsed  - i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover='With this option set, Advanced Options will be hidden when you first open a task for editing.') - button.btn(ng-click='showTour()', popover-placement='right', popover-trigger='mouseenter', popover='Restart the introductory tour from when you first joined HabitRPG.') Show Tour + | env.t('startacollapsed') + i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('startacollapsedpop')) + button.btn(ng-click='showTour()', popover-placement='right', popover-trigger='mouseenter', popover='Restart the introductory tour from when you first joined HabitRPG.') env.t('showtour') br - button.btn(ng-click='showBailey()', popover-trigger='mouseenter', popover-placement='right', popover='Bring Bailey the Town Crier out of hiding so you can review past news.') Show Bailey + button.btn(ng-click='showBailey()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('showtourpop')) Show Bailey br - button.btn(ng-click='modals.restore = true', popover-trigger='mouseenter', popover-placement='right', popover='Manually change values like Health, Level, and Gold.') Fix Character Values + button.btn(ng-click='modals.restore = true', popover-trigger='mouseenter', popover-placement='right', popover=env.t('fixvalpop')) env.t('fixval') div(ng-if='user.preferences.disableClasses==true') - button.btn(ng-click='user.ops.changeClass({})', popover-trigger='mouseenter', popover-placement='right', popover="You opted out of the class system initially. Would you like now to opt-in?") Enable Class System + button.btn(ng-click='user.ops.changeClass({})', popover-trigger='mouseenter', popover-placement='right', popover=env.t('enableclasspop')) env.t('enableclass') div(ng-if='!user.preferences.disableClasses && user.flags.classSelected') - button.btn(ng-click='showClassesTour()', popover-trigger='mouseenter', popover-placement='right', popover="Show the tour for using the class system.") Show Classes Tour + button.btn(ng-click='showClassesTour()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('showclasspop')) env.t('showclass') //- Why is ng-if='user.auth.local' validating for users *without* user.auth.local (facebook users)? adding .username here for extra div(ng-if='user.auth.local.username') hr - h4 Change Password + h4 env.t('changePass') form(ng-submit='changePassword(changePass)', ng-show='user.auth.local') .control-group - input(type='password', placeholder='Old Password', ng-model='changePass.oldPassword', required) + input(type='password', placeholder=env.t('oldPass'), ng-model='changePass.oldPassword', required) .control-group - input(type='password', placeholder='New Password', ng-model='changePass.newPassword', required) + input(type='password', placeholder=env.t('newPass'), ng-model='changePass.newPassword', required) .control-group - input(type='password', placeholder='Confirm New Password', ng-model='changePass.confirmNewPassword', required) - input.btn(type='submit', value='Submit') + input(type='password', placeholder=env.t('confirmPAss'), ng-model='changePass.confirmNewPassword', required) + input.btn(type='submit', value=env.t('submit')') hr - h4 Danger Zone - a.btn.btn-danger(ng-click='modals.reset = true', popover-trigger='mouseenter', popover-placement='right', popover='Start over, removing all levels, gold, gear, history, and tasks.') Reset Account - a.btn.btn-danger(ng-click='modals.delete = true', popover-trigger='mouseenter', popover='Cancel and remove your HabitRPG account.') Delete Account + h4 env.t('dangerZone') + a.btn.btn-danger(ng-click='modals.reset = true', popover-trigger='mouseenter', popover-placement='right', popover=env.t('resetaccpop')) env.t('resetaccount') + a.btn.btn-danger(ng-click='modals.delete = true', popover-trigger='mouseenter', popover=env.t('deleteaccpop')) env.t('deleteaccount') script(type='text/ng-template', id='partials/options.settings.api.html') .row.fluid .span6 - h2 API - small Copy these for use in third party applications. - h6 User ID + h2 env.t('API') + small env.t('APIText') + h6 env.t('userId') pre.prettyprint {{user.id}} - h6 API Token + h6 env.t('APIToken') pre.prettyprint {{user.apiToken}} - h6 QR Code + h6 env.t('qrcode') img(src='https://chart.googleapis.com/chart?cht=qr&chs=200x200&chl=%7B%22address%22%3A%22https%3A%2F%2Fhabitrpg.com%22%2C%22user%22%3A%22{{user.id}}%22%2C%22key%22%3A%22{{user.apiToken}}%22%7D&choe=UTF-8&chld=L', alt='qrcode') script(id='partials/options.settings.export.html', type="text/ng-template") .row.fluid .span6 - h2 Data Export - small Here are a few options for saving your Habit data. - h4 Habit History - Export History:   - a(href="/export/history.csv") (CSV)   - h4 User Data - Export User Data:   - a(href="/export/userdata.xml") (XML)   - a(href="/export/userdata.json") (JSON)   + h2 env.t('dataexport') + small env.t('dataexports') + h4 env.t('habithistory') + env.t('exporthistory') + a(href="/export/history.csv") env.t('csv') + h4 env.t('userdata') + env.t('exportuserdata') + a(href="/export/userdata.xml") env.t('xml') + a(href="/export/userdata.json") env.t('json') From b8e18594e937501776c99523d9a55cc59b4ec8bc Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 19:50:26 +0100 Subject: [PATCH 04/22] Update index.jade --- views/options/index.jade | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/views/options/index.jade b/views/options/index.jade index 96f0a42379..aea6dedb26 100644 --- a/views/options/index.jade +++ b/views/options/index.jade @@ -13,19 +13,19 @@ script(id='partials/options.html', type="text/ng-template") li(ng-class="{ active: $state.includes('options.profile') }") a(ui-sref='options.profile') i.icon-user - | env.t('profile') + =env.t('profile') li(ng-class="{ active: $state.includes('options.social') }") a(ui-sref='options.social') i.icon-heart - | env.t('social') + =env.t('social') li(ng-class="{ active: $state.includes('options.inventory') }", ng-if='user.flags.dropsEnabled') a(ui-sref='options.inventory') i.icon-gift - | env.t('inventory') + =env.t('inventory') li(ng-class="{ active: $state.includes('options.settings') }") a(ui-sref='options.settings') i.icon-wrench - | env.t('settings') + =env.t('settings') .tab-content .tab-pane.active From 805299a34caefc2daa6e4c15d05df47a5931da14 Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 19:55:52 +0100 Subject: [PATCH 05/22] Update profile.jade --- views/options/profile.jade | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/views/options/profile.jade b/views/options/profile.jade index 64bfdbe502..153bc6303c 100644 --- a/views/options/profile.jade +++ b/views/options/profile.jade @@ -1,11 +1,11 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') .row-fluid .span4 - h3 env.t('bodybody') + h3=env.t('bodybody') small. 2 / env.t('locked') - h5 env.t('bodysize') + h5=env.t('bodysize') .btn-group button.btn.btn-small(ng-class='{active: user.preferences.size=="slim"}', ng-click='set({"preferences.size":"slim"})') env.t('bodyslim') button.btn.btn-small(ng-class='{active: user.preferences.size=="broad"}', ng-click='set({"preferences.size":"broad"})') env.t('bodybroad') @@ -24,7 +24,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') .span4 - h3 env.t('bodyhead') + h3=env.t('bodyhead') small. 2 / env.t('locked') menu(type='list') @@ -44,7 +44,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') button(type='button', ng-class='{locked: !user.purchased.hair.color.#{color}}', class='customize-option hair_bangs_1_#{color}', style='width: 40px; height: 40px;', ng-click='unlock("hair.color.#{color}")') button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.color.candycane && user.purchased.hair.color.frost && user.purchased.hair.color.winternight && user.purchased.hair.color.holly', ng-click='unlock("hair.color.candycane,hair.color.frost,hair.color.winternight,hair.color.holly")') env.t('unlockset5') - h5 env.t('bodyhair') + h5=env.t('bodyhair') // Bangs li.customize-menu menu(label=env.t('hairbangs')) @@ -63,7 +63,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.base.2 && user.purchased.hair.base.4 && user.purchased.hair.base.5 && user.purchased.hair.base.6 && user.purchased.hair.base.7 && user.purchased.hair.base.8', ng-click='unlock("hair.base.2,hair.base.4,hair.base.5,hair.base.6,hair.base.7,hair.base.8")') env.t('unlockset5') - h5 env.t('bodyfacialhair') + h5=env.t('bodyfacialhair') // Beard li.customize-menu @@ -82,7 +82,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.mustache.1 && user.purchased.hair.mustache.2 && user.purchased.hair.beard.1 && user.purchased.hair.beard.2 && user.purchased.hair.beard.3', ng-click='unlock("hair.mustache.1,hair.mustache.2,hair.beard.1,hair.beard.2,hair.beard.3")') env.t('unlockset5') .span4 - h3 env.t('skin') + h3=env.t('skin') small. 2 / env.t('locked') // skin @@ -103,7 +103,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') // Special Events // restore to d4df481 to see purchasing + "limited edition" code div(ng-if='user.purchased.skin.monster || user.purchased.skin.pumpkin || user.purchased.skin.skeleton || user.purchased.skin.zombie || user.purchased.skin.ghost || user.purchased.skin.shadow') - h5 env.t('spookyskins') + h5=env.t('spookyskins') menu each color in ['monster','pumpkin','skeleton','zombie','ghost','shadow'] button.customize-option(type='button', class='skin_#{color}', ng-if='user.purchased.skin.#{color}', ng-click='unlock("skin.#{color}")') @@ -113,8 +113,8 @@ script(id='partials/options.profile.stats.html', type='text/ng-template') .border-right(ng-class='user.flags.classSelected && !user.preferences.disableClasses ? "span4" : "span6"') include ../shared/profiles/stats .span4.border-right.allocate-stats(ng-if='user.flags.classSelected && !user.preferences.disableClasses') - h3 env.t('characterbuild') - h4 env.t('class'): + h3=env.t('characterbuild') + h4=env.t('class'): span {{ {warrior:env.t('warrior'),wizard:env.t('mage'),healer:env.t('healer'),rogue:env.t('rogue')}[user.stats.class] }}  a.btn.btn-danger.btn-mini(ng-click='changeClass(null)') | env.t('changeclass') @@ -130,7 +130,7 @@ script(id='partials/options.profile.stats.html', type='text/ng-template') label.radio input(type='radio', name='allocationMode', value='flat', ng-model='user.preferences.allocationMode', ng-change='set({"preferences.allocationMode": "flat"})') | env.t('evenallocation') - i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover="env.t('evenallocationpopover')) + i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('evenallocationpopover')) label.radio input(type='radio', name='allocationMode', value='classbased', ng-model='user.preferences.allocationMode', ng-change='set({"preferences.allocationMode": "classbased"})') | env.t('') @@ -163,15 +163,15 @@ script(id='partials/options.profile.profile.html', type='text/ng-template') button.btn.btn-default(ng-click='_editing.profile = true', ng-show='!_editing.profile') Edit button.btn.btn-primary(ng-click='save()', ng-show='_editing.profile') Save div(ng-show='!_editing.profile') - h4 env.t('displayname') + h4=env.t('displayname') span(ng-show='profile.profile.name') {{profile.profile.name}} span.muted(ng-hide='profile.profile.name') - None - - h4 env.t('displayphoto') + h4=env.t('displayphoto') img(ng-show='profile.profile.imageUrl', ng-src='{{profile.profile.imageUrl}}') span.muted(ng-hide='profile.profile.imageUrl') - None - - h4 env.t('displayblub') + h4=env.t('displayblub') markdown(ng-show='profile.profile.blurb', ng-model='profile.profile.blurb') span.muted(ng-hide='profile.profile.blurb') - None - //{{profile.profile.blurb | linky:'_blank'}} From 21de0b7e74567779803fe90f7ba757ef7bd40209 Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 19:58:04 +0100 Subject: [PATCH 06/22] Update settings.jade --- views/options/settings.jade | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/views/options/settings.jade b/views/options/settings.jade index daa5393a16..1ca7483200 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -17,8 +17,8 @@ script(id='partials/options.settings.html', type="text/ng-template") script(type='text/ng-template', id='partials/options.settings.settings.html') .row-fluid .personal-options.span6 - h2 env.t('settings') - h4 env.t('customDayStart') + h2=env.t('settings') + h4=env.t('customDayStart') .option-group.option-short input.option-content.option-time(type='number', min='0', max='24', ng-model='user.preferences.dayStart', ng-change='saveDayStart()') span.input-suffix :00 (env.t('24HrClock')) @@ -27,10 +27,10 @@ script(type='text/ng-template', id='partials/options.settings.settings.html') div env.t('clockInfo') .alert.alert-danger Warning: this is a highly-experimental feature, and many experience issues with it. hr - h4 env.t('language') + h4=env.t('language') select(ng-model='language.code', ng-options='lang.code as lang.name for lang in avalaibleLanguages', ng-change='changeLanguage()') hr - h4 env.t('') + h4=env.t('') label.checkbox input(type='checkbox', ng-click='set({"preferences.hideHeader":user.preferences.hideHeader?false:true})', ng-checked='user.preferences.hideHeader!==true') | env.t('showHeader') @@ -64,7 +64,7 @@ script(type='text/ng-template', id='partials/options.settings.settings.html') //- Why is ng-if='user.auth.local' validating for users *without* user.auth.local (facebook users)? adding .username here for extra div(ng-if='user.auth.local.username') hr - h4 env.t('changePass') + h4=env.t('changePass') form(ng-submit='changePassword(changePass)', ng-show='user.auth.local') .control-group input(type='password', placeholder=env.t('oldPass'), ng-model='changePass.oldPassword', required) @@ -75,31 +75,31 @@ script(type='text/ng-template', id='partials/options.settings.settings.html') input.btn(type='submit', value=env.t('submit')') hr - h4 env.t('dangerZone') + h4=env.t('dangerZone') a.btn.btn-danger(ng-click='modals.reset = true', popover-trigger='mouseenter', popover-placement='right', popover=env.t('resetaccpop')) env.t('resetaccount') a.btn.btn-danger(ng-click='modals.delete = true', popover-trigger='mouseenter', popover=env.t('deleteaccpop')) env.t('deleteaccount') script(type='text/ng-template', id='partials/options.settings.api.html') .row.fluid .span6 - h2 env.t('API') + h2=env.t('API') small env.t('APIText') - h6 env.t('userId') + h6=env.t('userId') pre.prettyprint {{user.id}} - h6 env.t('APIToken') + h6=env.t('APIToken') pre.prettyprint {{user.apiToken}} - h6 env.t('qrcode') + h6=env.t('qrcode') img(src='https://chart.googleapis.com/chart?cht=qr&chs=200x200&chl=%7B%22address%22%3A%22https%3A%2F%2Fhabitrpg.com%22%2C%22user%22%3A%22{{user.id}}%22%2C%22key%22%3A%22{{user.apiToken}}%22%7D&choe=UTF-8&chld=L', alt='qrcode') script(id='partials/options.settings.export.html', type="text/ng-template") .row.fluid .span6 - h2 env.t('dataexport') + h2=env.t('dataexport') small env.t('dataexports') - h4 env.t('habithistory') + h4=env.t('habithistory') env.t('exporthistory') a(href="/export/history.csv") env.t('csv') - h4 env.t('userdata') + h4=env.t('userdata') env.t('exportuserdata') a(href="/export/userdata.xml") env.t('xml') a(href="/export/userdata.json") env.t('json') From 745fdeb34f7ded6a7924907a884739dfb902a54d Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 19:59:35 +0100 Subject: [PATCH 07/22] Update profile.jade --- views/options/profile.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/options/profile.jade b/views/options/profile.jade index 153bc6303c..34ffc63750 100644 --- a/views/options/profile.jade +++ b/views/options/profile.jade @@ -93,7 +93,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') // Rainbow Skin h5. - env.t('rainbowskins') + =env.t('rainbowskins') //menu(label='Rainbow Skins (2G / skin)') menu each color in ['eb052b','f69922','f5d70f','0ff591','2b43f6','d7a9f7','800ed0','rainbow'] From e8647c7cbc0fcecc6fc1ac0a232ad3f3ff9be768 Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 20:05:48 +0100 Subject: [PATCH 08/22] Update profile.jade --- views/options/profile.jade | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/views/options/profile.jade b/views/options/profile.jade index 34ffc63750..ce1d13d2ce 100644 --- a/views/options/profile.jade +++ b/views/options/profile.jade @@ -3,7 +3,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') .span4 h3=env.t('bodybody') small. - 2 / env.t('locked') + | 2 /= ' ' + env.t('locked') h5=env.t('bodysize') .btn-group @@ -26,7 +26,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') .span4 h3=env.t('bodyhead') small. - 2 / env.t('locked') + | 2 /= ' ' + env.t('locked') menu(type='list') // Color li.customize-menu @@ -84,7 +84,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') .span4 h3=env.t('skin') small. - 2 / env.t('locked') + | 2 /= ' ' + env.t('locked') // skin li.customize-menu menu(label=env.t('basicskins')) From f748d89fdc1f4f41840a9015f212cc2c5a59cbc9 Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 20:11:03 +0100 Subject: [PATCH 09/22] Update profile.jade --- views/options/profile.jade | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/views/options/profile.jade b/views/options/profile.jade index ce1d13d2ce..ea619607cc 100644 --- a/views/options/profile.jade +++ b/views/options/profile.jade @@ -3,7 +3,8 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') .span4 h3=env.t('bodybody') small. - | 2 /= ' ' + env.t('locked') + | 2 / + = ' ' + env.t('locked') h5=env.t('bodysize') .btn-group @@ -26,7 +27,8 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') .span4 h3=env.t('bodyhead') small. - | 2 /= ' ' + env.t('locked') + | 2 / + = ' ' + env.t('locked') menu(type='list') // Color li.customize-menu @@ -84,7 +86,8 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') .span4 h3=env.t('skin') small. - | 2 /= ' ' + env.t('locked') + | 2 / + = ' ' + env.t('locked') // skin li.customize-menu menu(label=env.t('basicskins')) From d87a3caae7e70cddc637d1820670a86c2ae73979 Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 20:50:31 +0100 Subject: [PATCH 10/22] Update profile.jade --- views/options/profile.jade | 52 +++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/views/options/profile.jade b/views/options/profile.jade index ea619607cc..b4b01c27f5 100644 --- a/views/options/profile.jade +++ b/views/options/profile.jade @@ -8,8 +8,8 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') h5=env.t('bodysize') .btn-group - button.btn.btn-small(ng-class='{active: user.preferences.size=="slim"}', ng-click='set({"preferences.size":"slim"})') env.t('bodyslim') - button.btn.btn-small(ng-class='{active: user.preferences.size=="broad"}', ng-click='set({"preferences.size":"broad"})') env.t('bodybroad') + button.btn.btn-small(ng-class='{active: user.preferences.size=="slim"}', ng-click='set({"preferences.size":"slim"})') =env.t('bodyslim') + button.btn.btn-small(ng-class='{active: user.preferences.size=="broad"}', ng-click='set({"preferences.size":"broad"})') =env.t('bodybroad') menu(type='list') li.customize-menu @@ -21,7 +21,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') each shirt in ['convict', 'cross', 'fire', 'horizon', 'ocean', 'purple', 'rainbow', 'redblue', 'thunder', 'tropical', 'zombie'] button.customize-option(type='button', class='{{user.preferences.size}}_shirt_'+shirt, ng-class='{locked: !user.purchased.shirt.'+shirt+'}', ng-click='unlock("shirt.'+shirt+'")') menu - button.btn.btn-small.btn-primary(ng-hide="user.purchased.shirt.convict && user.purchased.shirt.cross && user.purchased.shirt.fire && user.purchased.shirt.horizon && user.purchased.shirt.ocean && user.purchased.shirt.purple && user.purchased.shirt.rainbow && user.purchased.shirt.redblue && user.purchased.shirt.thunder && user.purchased.shirt.tropical && user.purchased.shirt.zombie", ng-click='unlock("shirt.convict,shirt.cross,shirt.fire,shirt.horizon,shirt.ocean,shirt.purple,shirt.rainbow,shirt.redblue,shirt.thunder,shirt.tropical,shirt.zombie")') env.t('unlockset5') + button.btn.btn-small.btn-primary(ng-hide="user.purchased.shirt.convict && user.purchased.shirt.cross && user.purchased.shirt.fire && user.purchased.shirt.horizon && user.purchased.shirt.ocean && user.purchased.shirt.purple && user.purchased.shirt.rainbow && user.purchased.shirt.redblue && user.purchased.shirt.thunder && user.purchased.shirt.tropical && user.purchased.shirt.zombie", ng-click='unlock("shirt.convict,shirt.cross,shirt.fire,shirt.horizon,shirt.ocean,shirt.purple,shirt.rainbow,shirt.redblue,shirt.thunder,shirt.tropical,shirt.zombie")') = env.t('unlockset5') + ' ' .span4 @@ -39,12 +39,12 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') // Special Events li.customize-menu.well.limited-edition .label.label-info.pull-right(popover='Available for purchase until January 31st (but permanently in your options if purchased).', popover-title='Limited Edition', popover-placement='right', popover-trigger='mouseenter') - | env.t('limitededition') + =env.t('limitededition') i.icon.icon-question-sign menu(label=env.t('wintercolors')) each color in ['candycane','frost','winternight','holly'] button(type='button', ng-class='{locked: !user.purchased.hair.color.#{color}}', class='customize-option hair_bangs_1_#{color}', style='width: 40px; height: 40px;', ng-click='unlock("hair.color.#{color}")') - button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.color.candycane && user.purchased.hair.color.frost && user.purchased.hair.color.winternight && user.purchased.hair.color.holly', ng-click='unlock("hair.color.candycane,hair.color.frost,hair.color.winternight,hair.color.holly")') env.t('unlockset5') + button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.color.candycane && user.purchased.hair.color.frost && user.purchased.hair.color.winternight && user.purchased.hair.color.holly', ng-click='unlock("hair.color.candycane,hair.color.frost,hair.color.winternight,hair.color.holly")') = env.t('unlockset5') + ' ' h5=env.t('bodyhair') // Bangs @@ -63,7 +63,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') when true: button(class='hair_base_#{k}_{{user.preferences.hair.color}} customize-option', type='button', ng-click='set({"preferences.hair.base":#{k}})') when false: button(class='hair_base_#{k}_{{user.preferences.hair.color}} customize-option', type='button', ng-class='{locked: !user.purchased.hair.base.#{k}}', ng-click='unlock("hair.base.#{k}")') - button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.base.2 && user.purchased.hair.base.4 && user.purchased.hair.base.5 && user.purchased.hair.base.6 && user.purchased.hair.base.7 && user.purchased.hair.base.8', ng-click='unlock("hair.base.2,hair.base.4,hair.base.5,hair.base.6,hair.base.7,hair.base.8")') env.t('unlockset5') + button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.base.2 && user.purchased.hair.base.4 && user.purchased.hair.base.5 && user.purchased.hair.base.6 && user.purchased.hair.base.7 && user.purchased.hair.base.8', ng-click='unlock("hair.base.2,hair.base.4,hair.base.5,hair.base.6,hair.base.7,hair.base.8")') = env.t('unlockset5') + ' ' h5=env.t('bodyfacialhair') @@ -81,7 +81,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') each num in [1,2] button(class='hair_mustache_#{num}_{{user.preferences.hair.color}} customize-option', type='button', ng-class='{locked: !user.purchased.hair.mustache.#{num}}', ng-click='unlock("hair.mustache.#{num}")') - button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.mustache.1 && user.purchased.hair.mustache.2 && user.purchased.hair.beard.1 && user.purchased.hair.beard.2 && user.purchased.hair.beard.3', ng-click='unlock("hair.mustache.1,hair.mustache.2,hair.beard.1,hair.beard.2,hair.beard.3")') env.t('unlockset5') + button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.mustache.1 && user.purchased.hair.mustache.2 && user.purchased.hair.beard.1 && user.purchased.hair.beard.2 && user.purchased.hair.beard.3', ng-click='unlock("hair.mustache.1,hair.mustache.2,hair.beard.1,hair.beard.2,hair.beard.3")') = env.t('unlockset5') + ' ' .span4 h3=env.t('skin') @@ -101,7 +101,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') menu each color in ['eb052b','f69922','f5d70f','0ff591','2b43f6','d7a9f7','800ed0','rainbow'] button.customize-option(type='button', class='skin_#{color}', ng-class='{locked: !user.purchased.skin.#{color}}', ng-click='unlock("skin.#{color}")') - button.btn.btn-small.btn-primary(ng-hide='user.purchased.skin.eb052b && user.purchased.skin.f69922 && user.purchased.skin.f5d70f && user.purchased.skin.0ff591 && user.purchased.skin.2b43f6 && user.purchased.skin.d7a9f7 && user.purchased.skin.800ed0 && user.purchased.skin.rainbow', ng-click='unlock("skin.eb052b,skin.f69922,skin.f5d70f,skin.0ff591,skin.2b43f6,skin.d7a9f7,skin.800ed0,skin.rainbow")') env.t('unlockset5') + button.btn.btn-small.btn-primary(ng-hide='user.purchased.skin.eb052b && user.purchased.skin.f69922 && user.purchased.skin.f5d70f && user.purchased.skin.0ff591 && user.purchased.skin.2b43f6 && user.purchased.skin.d7a9f7 && user.purchased.skin.800ed0 && user.purchased.skin.rainbow', ng-click='unlock("skin.eb052b,skin.f69922,skin.f5d70f,skin.0ff591,skin.2b43f6,skin.d7a9f7,skin.800ed0,skin.rainbow")') = env.t('unlockset5') + ' ' // Special Events // restore to d4df481 to see purchasing + "limited edition" code @@ -117,46 +117,46 @@ script(id='partials/options.profile.stats.html', type='text/ng-template') include ../shared/profiles/stats .span4.border-right.allocate-stats(ng-if='user.flags.classSelected && !user.preferences.disableClasses') h3=env.t('characterbuild') - h4=env.t('class'): - span {{ {warrior:env.t('warrior'),wizard:env.t('mage'),healer:env.t('healer'),rogue:env.t('rogue')}[user.stats.class] }}  + h4=env.t('class') + ':' + span= '{{ {warrior:' + env.t('warrior') + ',wizard:' + env.t('mage') + ',healer:' + env.t('healer') + ',rogue:' + env.t('rogue') + '}[user.stats.class] }} ' a.btn.btn-danger.btn-mini(ng-click='changeClass(null)') - | env.t('changeclass') + =env.t('changeclass') small 3 - h5(popover-trigger='mouseenter', popover-placement='left', popover=env.t('levelpopover')) env.t('unallocated') {{user.stats.points}}  + h5(popover-trigger='mouseenter', popover-placement='left', popover=env.t('levelpopover')) = env.t('unallocated') {{user.stats.points}}  fieldset.auto-allocate label.checkbox input(type='checkbox', ng-model='user.preferences.automaticAllocation', ng-change='set({"preferences.automaticAllocation": user.preferences.automaticAllocation?true: false})', ng-click='set({"preferences.allocationMode":"taskbased"})') - | env.t('automaticallocation') + =env.t('automaticallocation') i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('automaticallocationpopover')) form(ng-show='user.preferences.automaticAllocation',style='margin-left:1em') label.radio input(type='radio', name='allocationMode', value='flat', ng-model='user.preferences.allocationMode', ng-change='set({"preferences.allocationMode": "flat"})') - | env.t('evenallocation') + =env.t('evenallocation') i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('evenallocationpopover')) label.radio input(type='radio', name='allocationMode', value='classbased', ng-model='user.preferences.allocationMode', ng-change='set({"preferences.allocationMode": "classbased"})') - | env.t('') + =env.t('classallocation') i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('classallocationpopover')) label.radio input(type='radio', name='allocationMode', value='taskbased', ng-model='user.preferences.allocationMode', ng-change='set({"preferences.allocationMode": "taskbased"})') - | env.t('taskallocation') + =env.t('taskallocation') i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('taskallocationpopover')) table.table.table-striped tr - td env.t('allocatestr') {{user.stats.str}} + td= env.t('allocatestr') + '{{user.stats.str}}' td a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("str")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocatestrpop')) + tr - td env.t('allocatecon') {{user.stats.con}} + td= env.t('allocatecon') + '{{user.stats.con}}' td a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("con")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocateconpop')) + tr - td env.t('allocateper') {{user.stats.per}} + td= env.t('allocateper') + '{{user.stats.per}}' td a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("per")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocateperpop')) + tr - td env.t('allocateint') {{user.stats.int}} + td= env.t('allocateint') + '{{user.stats.int}}' td a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("int")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocateintpop')) + div(ng-class='user.flags.classSelected && !user.preferences.disableClasses ? "span4" : "span6"') @@ -182,13 +182,13 @@ script(id='partials/options.profile.profile.html', type='text/ng-template') div.whatever-options(ng-show='_editing.profile') // TODO use photo-upload instead: https://groups.google.com/forum/?fromgroups=#!topic/derbyjs/xMmADvxBOak .control-group.option-large - label.control-label env.t('displayname') + label.control-label =env.t('displayname') input.option-content(type='text', placeholder='Full Name', ng-model='editingProfile.name') .control-group.option-large - label.control-label env.t('photourl') + label.control-label =env.t('photourl') input.option-content(type='url', ng-model='editingProfile.imageUrl', placeholder='Image Url') .control-group.option-large - label.control-label env.t('displayblurb') + label.control-label =env.t('displayblurb') textarea.option-content(style='height:15em;', placeholder='Blurb', ng-model='editingProfile.blurb') include ../shared/formatting-help @@ -196,13 +196,13 @@ script(id='partials/options.profile.html', type="text/ng-template") ul.nav.nav-tabs li(ng-class="{ active: $state.includes('options.profile.avatar') }") a(ui-sref='options.profile.avatar') - | env.t('avatar') + =env.t('avatar') li(ng-class="{ active: $state.includes('options.profile.stats') }") a(ui-sref='options.profile.stats') - | env.t('statsach') + =env.t('statsach') li(ng-class="{ active: $state.includes('options.profile.profile') }") a(ui-sref='options.profile.profile') - | env.t('profile') + =env.t('profile') .tab-content .tab-pane.active From 00cb57deb6b3e57cf364ffb7215b6396dc62a2de Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 21:00:11 +0100 Subject: [PATCH 11/22] Update settings.jade --- views/options/settings.jade | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/views/options/settings.jade b/views/options/settings.jade index 1ca7483200..61d56065ca 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -21,10 +21,10 @@ script(type='text/ng-template', id='partials/options.settings.settings.html') h4=env.t('customDayStart') .option-group.option-short input.option-content.option-time(type='number', min='0', max='24', ng-model='user.preferences.dayStart', ng-change='saveDayStart()') - span.input-suffix :00 (env.t('24HrClock')) + span.input-suffix = ':00 (' + env.t('24HrClock') + ')' div small - div env.t('clockInfo') + div =env.t('clockInfo') .alert.alert-danger Warning: this is a highly-experimental feature, and many experience issues with it. hr h4=env.t('language') @@ -33,7 +33,7 @@ script(type='text/ng-template', id='partials/options.settings.settings.html') h4=env.t('') label.checkbox input(type='checkbox', ng-click='set({"preferences.hideHeader":user.preferences.hideHeader?false:true})', ng-checked='user.preferences.hideHeader!==true') - | env.t('showHeader') + =env.t('showHeader') i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('showHeaderpop')) label.checkbox input(type='checkbox', ng-click='toggleStickyHeader()', ng-checked='user.preferences.stickyHeader!==false') @@ -41,25 +41,25 @@ script(type='text/ng-template', id='partials/options.settings.settings.html') i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('stickyHeaderpop')) label.checkbox input(type='checkbox', ng-model='user.preferences.newTaskEdit', ng-change='set({"preferences.newTaskEdit": user.preferences.newTaskEdit?true: false})') - | env.t('newtaskedit') + =env.t('newtaskedit') i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('newtaskeditpop')) label.checkbox input(type='checkbox', ng-model='user.preferences.tagsCollapsed', ng-change='set({"preferences.tagsCollapsed": user.preferences.tagsCollapsed?true: false})') - | env.t('startcollapsed') + =env.t('startcollapsed') i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('startcollapsedpop')) label.checkbox input(type='checkbox', ng-model='user.preferences.advancedCollapsed', ng-change='set({"preferences.advancedCollapsed": user.preferences.advancedCollapsed?true: false})') - | env.t('startacollapsed') + =env.t('startacollapsed') i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('startacollapsedpop')) - button.btn(ng-click='showTour()', popover-placement='right', popover-trigger='mouseenter', popover='Restart the introductory tour from when you first joined HabitRPG.') env.t('showtour') + button.btn(ng-click='showTour()', popover-placement='right', popover-trigger='mouseenter', popover=env.t('showtourpop1')) env.t('showtour') br - button.btn(ng-click='showBailey()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('showtourpop')) Show Bailey + button.btn(ng-click='showBailey()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('showtourpop')) = env.t('') br - button.btn(ng-click='modals.restore = true', popover-trigger='mouseenter', popover-placement='right', popover=env.t('fixvalpop')) env.t('fixval') + button.btn(ng-click='modals.restore = true', popover-trigger='mouseenter', popover-placement='right', popover=env.t('fixvalpop')) = env.t('fixval') div(ng-if='user.preferences.disableClasses==true') - button.btn(ng-click='user.ops.changeClass({})', popover-trigger='mouseenter', popover-placement='right', popover=env.t('enableclasspop')) env.t('enableclass') + button.btn(ng-click='user.ops.changeClass({})', popover-trigger='mouseenter', popover-placement='right', popover=env.t('enableclasspop')) = env.t('enableclass') div(ng-if='!user.preferences.disableClasses && user.flags.classSelected') - button.btn(ng-click='showClassesTour()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('showclasspop')) env.t('showclass') + button.btn(ng-click='showClassesTour()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('showclasspop')) = env.t('showclass') //- Why is ng-if='user.auth.local' validating for users *without* user.auth.local (facebook users)? adding .username here for extra div(ng-if='user.auth.local.username') From b9bafc304eecee9a9b55e89c646fa6570c69227e Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 21:03:01 +0100 Subject: [PATCH 12/22] Update settings.jade --- views/options/settings.jade | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/views/options/settings.jade b/views/options/settings.jade index 61d56065ca..5fa9d27b87 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -2,13 +2,13 @@ script(id='partials/options.settings.html', type="text/ng-template") ul.nav.nav-tabs li(ng-class="{ active: $state.includes('options.settings.settings') }") a(ui-sref='options.settings.settings') - | Settings + =env.t('settings') li(ng-class="{ active: $state.includes('options.settings.api') }") a(ui-sref='options.settings.api') - | API + =env.t('API') li(ng-class="{ active: $state.includes('options.settings.export') }") a(ui-sref='options.settings.export') - | Data Export + =env.t('dataexport') .tab-content .tab-pane.active @@ -53,13 +53,13 @@ script(type='text/ng-template', id='partials/options.settings.settings.html') i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('startacollapsedpop')) button.btn(ng-click='showTour()', popover-placement='right', popover-trigger='mouseenter', popover=env.t('showtourpop1')) env.t('showtour') br - button.btn(ng-click='showBailey()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('showtourpop')) = env.t('') + button.btn(ng-click='showBailey()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('showtourpop'))= env.t('') br - button.btn(ng-click='modals.restore = true', popover-trigger='mouseenter', popover-placement='right', popover=env.t('fixvalpop')) = env.t('fixval') + button.btn(ng-click='modals.restore = true', popover-trigger='mouseenter', popover-placement='right', popover=env.t('fixvalpop'))= env.t('fixval') div(ng-if='user.preferences.disableClasses==true') - button.btn(ng-click='user.ops.changeClass({})', popover-trigger='mouseenter', popover-placement='right', popover=env.t('enableclasspop')) = env.t('enableclass') + button.btn(ng-click='user.ops.changeClass({})', popover-trigger='mouseenter', popover-placement='right', popover=env.t('enableclasspop'))= env.t('enableclass') div(ng-if='!user.preferences.disableClasses && user.flags.classSelected') - button.btn(ng-click='showClassesTour()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('showclasspop')) = env.t('showclass') + button.btn(ng-click='showClassesTour()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('showclasspop'))= env.t('showclass') //- Why is ng-if='user.auth.local' validating for users *without* user.auth.local (facebook users)? adding .username here for extra div(ng-if='user.auth.local.username') From 1f0d91e9c6560228af3de8d0b749907d589e0f6b Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 21:04:03 +0100 Subject: [PATCH 13/22] Update profile.jade --- views/options/profile.jade | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/views/options/profile.jade b/views/options/profile.jade index b4b01c27f5..51d8725190 100644 --- a/views/options/profile.jade +++ b/views/options/profile.jade @@ -8,8 +8,8 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') h5=env.t('bodysize') .btn-group - button.btn.btn-small(ng-class='{active: user.preferences.size=="slim"}', ng-click='set({"preferences.size":"slim"})') =env.t('bodyslim') - button.btn.btn-small(ng-class='{active: user.preferences.size=="broad"}', ng-click='set({"preferences.size":"broad"})') =env.t('bodybroad') + button.btn.btn-small(ng-class='{active: user.preferences.size=="slim"}', ng-click='set({"preferences.size":"slim"})')=env.t('bodyslim') + button.btn.btn-small(ng-class='{active: user.preferences.size=="broad"}', ng-click='set({"preferences.size":"broad"})')=env.t('bodybroad') menu(type='list') li.customize-menu @@ -21,7 +21,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') each shirt in ['convict', 'cross', 'fire', 'horizon', 'ocean', 'purple', 'rainbow', 'redblue', 'thunder', 'tropical', 'zombie'] button.customize-option(type='button', class='{{user.preferences.size}}_shirt_'+shirt, ng-class='{locked: !user.purchased.shirt.'+shirt+'}', ng-click='unlock("shirt.'+shirt+'")') menu - button.btn.btn-small.btn-primary(ng-hide="user.purchased.shirt.convict && user.purchased.shirt.cross && user.purchased.shirt.fire && user.purchased.shirt.horizon && user.purchased.shirt.ocean && user.purchased.shirt.purple && user.purchased.shirt.rainbow && user.purchased.shirt.redblue && user.purchased.shirt.thunder && user.purchased.shirt.tropical && user.purchased.shirt.zombie", ng-click='unlock("shirt.convict,shirt.cross,shirt.fire,shirt.horizon,shirt.ocean,shirt.purple,shirt.rainbow,shirt.redblue,shirt.thunder,shirt.tropical,shirt.zombie")') = env.t('unlockset5') + ' ' + button.btn.btn-small.btn-primary(ng-hide="user.purchased.shirt.convict && user.purchased.shirt.cross && user.purchased.shirt.fire && user.purchased.shirt.horizon && user.purchased.shirt.ocean && user.purchased.shirt.purple && user.purchased.shirt.rainbow && user.purchased.shirt.redblue && user.purchased.shirt.thunder && user.purchased.shirt.tropical && user.purchased.shirt.zombie", ng-click='unlock("shirt.convict,shirt.cross,shirt.fire,shirt.horizon,shirt.ocean,shirt.purple,shirt.rainbow,shirt.redblue,shirt.thunder,shirt.tropical,shirt.zombie")')= env.t('unlockset5') + ' ' .span4 @@ -44,7 +44,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') menu(label=env.t('wintercolors')) each color in ['candycane','frost','winternight','holly'] button(type='button', ng-class='{locked: !user.purchased.hair.color.#{color}}', class='customize-option hair_bangs_1_#{color}', style='width: 40px; height: 40px;', ng-click='unlock("hair.color.#{color}")') - button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.color.candycane && user.purchased.hair.color.frost && user.purchased.hair.color.winternight && user.purchased.hair.color.holly', ng-click='unlock("hair.color.candycane,hair.color.frost,hair.color.winternight,hair.color.holly")') = env.t('unlockset5') + ' ' + button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.color.candycane && user.purchased.hair.color.frost && user.purchased.hair.color.winternight && user.purchased.hair.color.holly', ng-click='unlock("hair.color.candycane,hair.color.frost,hair.color.winternight,hair.color.holly")')= env.t('unlockset5') + ' ' h5=env.t('bodyhair') // Bangs @@ -63,7 +63,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') when true: button(class='hair_base_#{k}_{{user.preferences.hair.color}} customize-option', type='button', ng-click='set({"preferences.hair.base":#{k}})') when false: button(class='hair_base_#{k}_{{user.preferences.hair.color}} customize-option', type='button', ng-class='{locked: !user.purchased.hair.base.#{k}}', ng-click='unlock("hair.base.#{k}")') - button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.base.2 && user.purchased.hair.base.4 && user.purchased.hair.base.5 && user.purchased.hair.base.6 && user.purchased.hair.base.7 && user.purchased.hair.base.8', ng-click='unlock("hair.base.2,hair.base.4,hair.base.5,hair.base.6,hair.base.7,hair.base.8")') = env.t('unlockset5') + ' ' + button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.base.2 && user.purchased.hair.base.4 && user.purchased.hair.base.5 && user.purchased.hair.base.6 && user.purchased.hair.base.7 && user.purchased.hair.base.8', ng-click='unlock("hair.base.2,hair.base.4,hair.base.5,hair.base.6,hair.base.7,hair.base.8")')= env.t('unlockset5') + ' ' h5=env.t('bodyfacialhair') @@ -81,7 +81,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') each num in [1,2] button(class='hair_mustache_#{num}_{{user.preferences.hair.color}} customize-option', type='button', ng-class='{locked: !user.purchased.hair.mustache.#{num}}', ng-click='unlock("hair.mustache.#{num}")') - button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.mustache.1 && user.purchased.hair.mustache.2 && user.purchased.hair.beard.1 && user.purchased.hair.beard.2 && user.purchased.hair.beard.3', ng-click='unlock("hair.mustache.1,hair.mustache.2,hair.beard.1,hair.beard.2,hair.beard.3")') = env.t('unlockset5') + ' ' + button.btn.btn-small.btn-primary(ng-hide='user.purchased.hair.mustache.1 && user.purchased.hair.mustache.2 && user.purchased.hair.beard.1 && user.purchased.hair.beard.2 && user.purchased.hair.beard.3', ng-click='unlock("hair.mustache.1,hair.mustache.2,hair.beard.1,hair.beard.2,hair.beard.3")')= env.t('unlockset5') + ' ' .span4 h3=env.t('skin') @@ -101,7 +101,7 @@ script(id='partials/options.profile.avatar.html', type='text/ng-template') menu each color in ['eb052b','f69922','f5d70f','0ff591','2b43f6','d7a9f7','800ed0','rainbow'] button.customize-option(type='button', class='skin_#{color}', ng-class='{locked: !user.purchased.skin.#{color}}', ng-click='unlock("skin.#{color}")') - button.btn.btn-small.btn-primary(ng-hide='user.purchased.skin.eb052b && user.purchased.skin.f69922 && user.purchased.skin.f5d70f && user.purchased.skin.0ff591 && user.purchased.skin.2b43f6 && user.purchased.skin.d7a9f7 && user.purchased.skin.800ed0 && user.purchased.skin.rainbow', ng-click='unlock("skin.eb052b,skin.f69922,skin.f5d70f,skin.0ff591,skin.2b43f6,skin.d7a9f7,skin.800ed0,skin.rainbow")') = env.t('unlockset5') + ' ' + button.btn.btn-small.btn-primary(ng-hide='user.purchased.skin.eb052b && user.purchased.skin.f69922 && user.purchased.skin.f5d70f && user.purchased.skin.0ff591 && user.purchased.skin.2b43f6 && user.purchased.skin.d7a9f7 && user.purchased.skin.800ed0 && user.purchased.skin.rainbow', ng-click='unlock("skin.eb052b,skin.f69922,skin.f5d70f,skin.0ff591,skin.2b43f6,skin.d7a9f7,skin.800ed0,skin.rainbow")')= env.t('unlockset5') + ' ' // Special Events // restore to d4df481 to see purchasing + "limited edition" code @@ -123,7 +123,7 @@ script(id='partials/options.profile.stats.html', type='text/ng-template') =env.t('changeclass') small 3 - h5(popover-trigger='mouseenter', popover-placement='left', popover=env.t('levelpopover')) = env.t('unallocated') {{user.stats.points}}  + h5(popover-trigger='mouseenter', popover-placement='left', popover=env.t('levelpopover'))= env.t('unallocated') {{user.stats.points}}  fieldset.auto-allocate label.checkbox input(type='checkbox', ng-model='user.preferences.automaticAllocation', ng-change='set({"preferences.automaticAllocation": user.preferences.automaticAllocation?true: false})', ng-click='set({"preferences.allocationMode":"taskbased"})') From b48c584f43f35ff7af7c85f132cec4ef720626e6 Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 21:05:41 +0100 Subject: [PATCH 14/22] Update settings.jade --- views/options/settings.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/options/settings.jade b/views/options/settings.jade index 5fa9d27b87..4f63bf3965 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -37,7 +37,7 @@ script(type='text/ng-template', id='partials/options.settings.settings.html') i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('showHeaderpop')) label.checkbox input(type='checkbox', ng-click='toggleStickyHeader()', ng-checked='user.preferences.stickyHeader!==false') - | env.t('stickyHeader') + =env.t('stickyHeader') i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('stickyHeaderpop')) label.checkbox input(type='checkbox', ng-model='user.preferences.newTaskEdit', ng-change='set({"preferences.newTaskEdit": user.preferences.newTaskEdit?true: false})') From 4e5323ea2f4fb4ef8b46ac70e11a57e58c3a97ba Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 21:10:18 +0100 Subject: [PATCH 15/22] Update settings.jade --- views/options/settings.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/options/settings.jade b/views/options/settings.jade index 4f63bf3965..6ac94ef075 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -53,7 +53,7 @@ script(type='text/ng-template', id='partials/options.settings.settings.html') i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('startacollapsedpop')) button.btn(ng-click='showTour()', popover-placement='right', popover-trigger='mouseenter', popover=env.t('showtourpop1')) env.t('showtour') br - button.btn(ng-click='showBailey()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('showtourpop'))= env.t('') + button.btn(ng-click='showBailey()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('showtourpop'))= env.t('showtour2') br button.btn(ng-click='modals.restore = true', popover-trigger='mouseenter', popover-placement='right', popover=env.t('fixvalpop'))= env.t('fixval') div(ng-if='user.preferences.disableClasses==true') From 46e29e8999a9b4e4a1f73148b74b1864c5b4d676 Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 21:16:52 +0100 Subject: [PATCH 16/22] Update settings.jade --- views/options/settings.jade | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/views/options/settings.jade b/views/options/settings.jade index 6ac94ef075..2806464d23 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -51,7 +51,7 @@ script(type='text/ng-template', id='partials/options.settings.settings.html') input(type='checkbox', ng-model='user.preferences.advancedCollapsed', ng-change='set({"preferences.advancedCollapsed": user.preferences.advancedCollapsed?true: false})') =env.t('startacollapsed') i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('startacollapsedpop')) - button.btn(ng-click='showTour()', popover-placement='right', popover-trigger='mouseenter', popover=env.t('showtourpop1')) env.t('showtour') + button.btn(ng-click='showTour()', popover-placement='right', popover-trigger='mouseenter', popover=env.t('showtourpop1'))= env.t('showtour') br button.btn(ng-click='showBailey()', popover-trigger='mouseenter', popover-placement='right', popover=env.t('showtourpop'))= env.t('showtour2') br @@ -76,14 +76,14 @@ script(type='text/ng-template', id='partials/options.settings.settings.html') hr h4=env.t('dangerZone') - a.btn.btn-danger(ng-click='modals.reset = true', popover-trigger='mouseenter', popover-placement='right', popover=env.t('resetaccpop')) env.t('resetaccount') - a.btn.btn-danger(ng-click='modals.delete = true', popover-trigger='mouseenter', popover=env.t('deleteaccpop')) env.t('deleteaccount') + a.btn.btn-danger(ng-click='modals.reset = true', popover-trigger='mouseenter', popover-placement='right', popover=env.t('resetaccpop'))= env.t('resetaccount') + a.btn.btn-danger(ng-click='modals.delete = true', popover-trigger='mouseenter', popover=env.t('deleteaccpop'))= env.t('deleteaccount') script(type='text/ng-template', id='partials/options.settings.api.html') .row.fluid .span6 h2=env.t('API') - small env.t('APIText') + small =env.t('APIText') h6=env.t('userId') pre.prettyprint {{user.id}} h6=env.t('APIToken') @@ -95,11 +95,11 @@ script(id='partials/options.settings.export.html', type="text/ng-template") .row.fluid .span6 h2=env.t('dataexport') - small env.t('dataexports') + small =env.t('dataexports') h4=env.t('habithistory') - env.t('exporthistory') - a(href="/export/history.csv") env.t('csv') + =env.t('exporthistory') + a(href="/export/history.csv")= env.t('csv') h4=env.t('userdata') - env.t('exportuserdata') - a(href="/export/userdata.xml") env.t('xml') - a(href="/export/userdata.json") env.t('json') + =env.t('exportuserdata') + a(href="/export/userdata.xml")= env.t('xml') + a(href="/export/userdata.json")= env.t('json') From bfebb61520c404d93210fcc2d7a09e9471a37503 Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 21:40:41 +0100 Subject: [PATCH 17/22] Update profile.jade --- views/options/profile.jade | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/views/options/profile.jade b/views/options/profile.jade index 51d8725190..b5856e1ea4 100644 --- a/views/options/profile.jade +++ b/views/options/profile.jade @@ -144,19 +144,19 @@ script(id='partials/options.profile.stats.html', type='text/ng-template') i.icon-question-sign(popover-trigger='mouseenter', popover-placement='right', popover=env.t('taskallocationpopover')) table.table.table-striped tr - td= env.t('allocatestr') + '{{user.stats.str}}' + td= env.t('allocatestr') + ' {{user.stats.str}}' td a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("str")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocatestrpop')) + tr - td= env.t('allocatecon') + '{{user.stats.con}}' + td= env.t('allocatecon') + ' {{user.stats.con}}' td a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("con")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocateconpop')) + tr - td= env.t('allocateper') + '{{user.stats.per}}' + td= env.t('allocateper') + ' {{user.stats.per}}' td a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("per")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocateperpop')) + tr - td= env.t('allocateint') + '{{user.stats.int}}' + td= env.t('allocateint') + ' {{user.stats.int}}' td a.btn.btn-primary(ng-show='user.stats.points', ng-click='allocate("int")', popover-trigger='mouseenter', popover-placement='right', popover=env.t('allocateintpop')) + div(ng-class='user.flags.classSelected && !user.preferences.disableClasses ? "span4" : "span6"') @@ -183,13 +183,13 @@ script(id='partials/options.profile.profile.html', type='text/ng-template') // TODO use photo-upload instead: https://groups.google.com/forum/?fromgroups=#!topic/derbyjs/xMmADvxBOak .control-group.option-large label.control-label =env.t('displayname') - input.option-content(type='text', placeholder='Full Name', ng-model='editingProfile.name') + input.option-content(type='text', placeholder=env.t('fullname')), ng-model='editingProfile.name') .control-group.option-large label.control-label =env.t('photourl') - input.option-content(type='url', ng-model='editingProfile.imageUrl', placeholder='Image Url') + input.option-content(type='url', ng-model='editingProfile.imageUrl', placeholder=env.t('imageurl')) .control-group.option-large label.control-label =env.t('displayblurb') - textarea.option-content(style='height:15em;', placeholder='Blurb', ng-model='editingProfile.blurb') + textarea.option-content(style='height:15em;', placeholder=env.t("displayblurb"), ng-model='editingProfile.blurb') include ../shared/formatting-help script(id='partials/options.profile.html', type="text/ng-template") From 87d528ce505fa4a9191f8a5d24afa0e0d0e9f200 Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 21:46:57 +0100 Subject: [PATCH 18/22] Update profile.jade fullname -> fullName --- views/options/profile.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/options/profile.jade b/views/options/profile.jade index b5856e1ea4..618646536f 100644 --- a/views/options/profile.jade +++ b/views/options/profile.jade @@ -183,7 +183,7 @@ script(id='partials/options.profile.profile.html', type='text/ng-template') // TODO use photo-upload instead: https://groups.google.com/forum/?fromgroups=#!topic/derbyjs/xMmADvxBOak .control-group.option-large label.control-label =env.t('displayname') - input.option-content(type='text', placeholder=env.t('fullname')), ng-model='editingProfile.name') + input.option-content(type='text', placeholder=env.t('fullName')), ng-model='editingProfile.name') .control-group.option-large label.control-label =env.t('photourl') input.option-content(type='url', ng-model='editingProfile.imageUrl', placeholder=env.t('imageurl')) From 68041f206c21c6c062869743c9066d149c48d579 Mon Sep 17 00:00:00 2001 From: Luveluen Date: Sun, 19 Jan 2014 22:02:55 +0100 Subject: [PATCH 19/22] Update settings.jade --- views/options/settings.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/views/options/settings.jade b/views/options/settings.jade index 2806464d23..cfa85a10b0 100644 --- a/views/options/settings.jade +++ b/views/options/settings.jade @@ -30,7 +30,7 @@ script(type='text/ng-template', id='partials/options.settings.settings.html') h4=env.t('language') select(ng-model='language.code', ng-options='lang.code as lang.name for lang in avalaibleLanguages', ng-change='changeLanguage()') hr - h4=env.t('') + h4=env.t('hideHeader') label.checkbox input(type='checkbox', ng-click='set({"preferences.hideHeader":user.preferences.hideHeader?false:true})', ng-checked='user.preferences.hideHeader!==true') =env.t('showHeader') From c37512baa68e8fdd163e3145ce0fe9fc73c6a35e Mon Sep 17 00:00:00 2001 From: Luveluen Date: Mon, 20 Jan 2014 14:41:51 +0100 Subject: [PATCH 20/22] Update index.jade --- views/options/inventory/index.jade | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/views/options/inventory/index.jade b/views/options/inventory/index.jade index f57e406c85..1671d70eac 100644 --- a/views/options/inventory/index.jade +++ b/views/options/inventory/index.jade @@ -5,17 +5,17 @@ script(type='text/ng-template', id='partials/options.inventory.html') ul.nav.nav-tabs li(ng-class="{ active: $state.includes('options.inventory.drops') }") a(ui-sref='options.inventory.drops') - | Market + =env.t('market') li(ng-class="{ active: $state.includes('options.inventory.pets') }") a(ui-sref='options.inventory.pets') - | Pets + =env.t('pets') li(ng-class="{ active: $state.includes('options.inventory.mounts') }") a(ui-sref='options.inventory.mounts') - | Mounts + =env.t('mounts') li.equipment-tab(ng-class="{ active: $state.includes('options.inventory.equipment') }") a(ui-sref='options.inventory.equipment') - | Equipment + =env.t('equipment') .tab-content .tab-pane.active - div(ui-view) \ No newline at end of file + div(ui-view) From 462f11e48c6d0616529612cc8367b0f4796ed317 Mon Sep 17 00:00:00 2001 From: Luveluen Date: Mon, 20 Jan 2014 16:08:37 +0100 Subject: [PATCH 21/22] Update inventory.jade --- views/options/inventory/inventory.jade | 30 +++++++++++++------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/views/options/inventory/inventory.jade b/views/options/inventory/inventory.jade index b864cde8cc..36b1fa9319 100644 --- a/views/options/inventory/inventory.jade +++ b/views/options/inventory/inventory.jade @@ -1,19 +1,19 @@ script(type='text/ng-template', id='partials/options.inventory.equipment.html') .row-fluid .span6.border-right - h3 Battle Gear - small This is the gear you wear into battle, it affects numbers when interacting with your tasks. + h3=env.t('battlegear') + small =env.t('battlegeartext') li.customize-menu.inventory-gear menu.pets-menu(label='{{label}}', ng-repeat='(klass,label) in {base:"Base", warrior:"Warrior", wizard:"Wizard", rogue:"Rogue", healer:"Healer", special:"Special"}', ng-show='gear[klass]') div(ng-repeat='item in gear[klass]') button.customize-option(popover='{{item.notes}}', popover-title='{{item.text}}', popover-trigger='mouseenter', popover-placement='right', ng-click='user.ops.equip({params:{key:item.key}})', class='shop_{{item.key}}', ng-class='{selectableInventory: user.items.gear.equipped[item.type] == item.key}') .span6 - h3 Costume - small But if you prefer the look of other gear to what you have equipped, check this box to visually don a costume while wearing your battle gear underneath. + h3=env.t('costume') + small =env.t('costumetext') br label.checkbox.inline input(type="checkbox", ng-model="user.preferences.costume", ng-click='set({"preferences.costume":!user.preferences.costume})') - | Use Costume  + =env.t('usecostume') li.customize-menu(ng-if='user.preferences.costume') menu.pets-menu(label='{{label}}', ng-repeat='(klass,label) in {base:"Base", warrior:"Warrior", wizard:"Wizard", rogue:"Rogue", healer:"Healer", special:"Special"}', ng-show='gear[klass]') div(ng-repeat='item in gear[klass]') @@ -22,13 +22,13 @@ script(type='text/ng-template', id='partials/options.inventory.equipment.html') script(type='text/ng-template', id='partials/options.inventory.drops.html') .row-fluid .span6.border-right - h2 Inventory - p.well Click an egg to see usable potions highlighted in green and then click one of the highlighted potions to hatch your pet. If no potions are highlighted, click that egg again to deselect it, and instead click a potion first to have the usable eggs highlighted. You can also sell unwanted drops to Alexander the Merchant. + h2=env.t('inventory') + p.well =env.t('eggtext') menu.inventory-list(type='list') li.customize-menu menu.pets-menu(label='Eggs ({{eggCount}})') - p.muted(ng-show='eggCount < 1') You don't have any eggs. + p.muted(ng-show='eggCount < 1')=env.t('noeggs') div(ng-repeat='(egg,points) in ownedItems(user.items.eggs)') //TODO move positioning this styling to css button.customize-option(popover='{{Content.eggs[egg].notes}}', popover-title='{{Content.eggs[egg].text}} Egg', popover-trigger='mouseenter', popover-placement='right', ng-click='chooseEgg(egg)', class='Pet_Egg_{{egg}}', ng-class='{selectableInventory: selectedPotion && !user.items.pets[egg+"-"+selectedPotion.key]}') @@ -37,22 +37,22 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') li.customize-menu menu.hatchingPotion-menu(label='Hatching Potions ({{potCount}})') - p.muted(ng-show='potCount < 1') You don't have any hatching potions. + p.muted(ng-show='potCount < 1')=env.t('nohatchingpotions') div(ng-repeat='(pot,points) in ownedItems(user.items.hatchingPotions)') button.customize-option(popover='{{Content.hatchingPotions[pot].notes}}', popover-title='{{Content.hatchingPotions[pot].text}} Potion', popover-trigger='mouseenter', popover-placement='right', ng-click='choosePotion(pot)', class='Pet_HatchingPotion_{{pot}}', ng-class='{selectableInventory: selectedEgg && !user.items.pets[selectedEgg.key+"-"+pot]}') .badge.badge-info.stack-count {{points}} li.customize-menu menu.pets-menu(label='Quest Scrolls ({{questCount}})') - p.muted(ng-show='questCount < 1') You don't have any quest scrolls. - p.muted Quests require parties. If you want to quest solo, create an empty party + p.muted(ng-show='questCount < 1')=env.t('noscrolls') + p.muted=env.t('scrollstext1') create an empty party div(ng-repeat='(quest_key,points) in ownedItems(user.items.quests)', ng-init='quest = Content.quests[quest_key]') button.customize-option(popover='{{quest.previous && !user.achievements.quests[quest.previous] ? "You need to complete the previous quest to start this one!" : quest.notes}}', popover-title='{{quest.text}}', popover-trigger='mouseenter', popover-placement='right', ng-click='showQuest(quest_key)', class='inventory_quest_scroll', ng-class='{locked: quest.previous && !user.achievements.quests[quest.previous]}') .badge.badge-info.stack-count {{points}} li.customize-menu menu.pets-menu(label='Food ({{foodCount}})') - p(ng-show='foodCount < 1') You don't have any food. + p(ng-show='foodCount < 1')env.t('nofood') div(ng-repeat='(food,points) in ownedItems(user.items.food)') button.customize-option(popover='{{Content.food[food].notes}}', popover-title='{{Content.food[food].text}}', popover-trigger='mouseenter', popover-placement='right', ng-click='chooseFood(food)', class='Pet_Food_{{food}}') .badge.badge-info.stack-count {{points}} @@ -74,10 +74,10 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') .popover.static-popover.fade.right.in .arrow h3.popover-title - a(target='_blank', href='http://www.kickstarter.com/profile/523661924') Alexander the Merchant + a(target='_blank', href='http://www.kickstarter.com/profile/523661924')=env.t('alexander') .popover-content p - | Welcome to the Market! Buy hard-to-find eggs and potions! Sell your extras! Commission useful services! Come see what we have to offer. + =env.t('welcomemarket') p button.btn.btn-primary(ng-show='selectedEgg', ng-click='sellInventory()') | Sell {{selectedEgg.key}} for {{selectedEgg.value}} Gold @@ -113,7 +113,7 @@ script(type='text/ng-template', id='partials/options.inventory.drops.html') li.customize-menu menu.pets-menu(label='Quests') - p.muted Quests require parties. If you want to quest solo, create an empty party + p.muted=env.t('scrollstext1') create an empty party div(ng-repeat='quest in Content.quests') button.customize-option(popover='{{quest.text}}', popover-trigger='mouseenter', popover-placement='left', ng-click='purchase("quests", quest)', class='inventory_quest_scroll', ng-class='{locked: quest.previous && !user.achievements.quests[quest.previous]}') p From ffff867ba35dd631b46afc5fe9f71da0cf5357dc Mon Sep 17 00:00:00 2001 From: Luveluen Date: Mon, 20 Jan 2014 16:20:06 +0100 Subject: [PATCH 22/22] Update stable.jade --- views/options/inventory/stable.jade | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/views/options/inventory/stable.jade b/views/options/inventory/stable.jade index 4da7d4830f..01d6879d51 100644 --- a/views/options/inventory/stable.jade +++ b/views/options/inventory/stable.jade @@ -8,11 +8,11 @@ script(type='text/ng-template', id='partials/options.inventory.mounts.html') .popover.static-popover.fade.right.in(style='max-width: 550px; margin-left: 10px;') .arrow h3.popover-title - a(target='_blank', href='http://www.kickstarter.com/profile/mattboch') Matt Boch + a(target='_blank', href='http://www.kickstarter.com/profile/mattboch')=env.t('mattboch') .popover-content p. Shall I bring you your steed, {{user.profile.name}}? Click a mount to saddle up. - h4 {{mountCount}} / {{totalPets}} Mounts Tamed + h4 {{mountCount}} / {{totalPets}} =env.t('mountstamed') menu.pets(type='list') li.customize-menu(ng-repeat='egg in Content.eggs') menu @@ -22,7 +22,7 @@ script(type='text/ng-template', id='partials/options.inventory.mounts.html') button(class="pet-button pet-not-owned", ng-hide='user.items.mounts[mount]') .PixelPaw - h4 Rare Mounts + h4=env.t('raremounts') menu div button(ng-if='user.items.mounts["BearCub-Polar"]', class="pet-button Mount_Head_BearCub-Polar", ng-class='{active: user.items.currentMount == "BearCub-Polar"}', ng-click='chooseMount("BearCub", "Polar")', popover='Polar Bear', popover-trigger='mouseenter', popover-placement='bottom') @@ -40,11 +40,11 @@ script(type='text/ng-template', id='partials/options.inventory.pets.html') .popover.static-popover.fade.right.in(style='max-width: 550px; margin-left: 10px;') .arrow h3.popover-title - a(target='_blank', href='http://www.kickstarter.com/profile/mattboch') Matt Boch + a(target='_blank', href='http://www.kickstarter.com/profile/mattboch')=env.t('mattboch') .popover-content p. Welcome to the Stable! I'm Matt, the beast master. Choose a pet here to venture at your side. Feed them and they'll grow into powerful steeds. Have a look-see at all the pets you can collect. - h4 {{petCount}} / {{totalPets}} Pets Found + h4 {{petCount}} / {{totalPets}} =env.t('petsfound') menu.pets(type='list') li.customize-menu(ng-repeat='egg in Content.eggs') @@ -56,23 +56,23 @@ script(type='text/ng-template', id='partials/options.inventory.pets.html') button(class="pet-button pet-not-owned", ng-if='!user.items.pets[pet]') .PixelPaw - h4 Rare Pets + h4=env.t('rarepets') menu div - button(ng-if='user.items.pets["Wolf-Veteran"]', class="pet-button Pet-Wolf-Veteran", ng-class='{active: user.items.currentPet == "Wolf-Veteran"}', ng-click='choosePet("Wolf", "Veteran")', popover='Veteran Wolf', popover-trigger='mouseenter', popover-placement='bottom') - button(ng-if='user.items.pets["Wolf-Cerberus"]', class="pet-button Pet-Wolf-Cerberus", ng-class='{active: user.items.currentPet == "Wolf-Cerberus"}', ng-click='choosePet("Wolf", "Cerberus")', popover='Cerberus Pup', popover-trigger='mouseenter', popover-placement='bottom') - button(ng-if='user.items.pets["Turkey-Base"]', class="pet-button Pet-Turkey-Base", ng-class='{active: user.items.currentPet == "Turkey-Base"}', ng-click='choosePet("Turkey", "Base")', popover='Turkey', popover-trigger='mouseenter', popover-placement='bottom') - button(ng-if='user.items.pets["BearCub-Polar"]', class="pet-button Pet-BearCub-Polar", ng-class='{active: user.items.currentPet == "BearCub-Polar"}', ng-click='choosePet("BearCub", "Polar")', popover='Polar Bear Cub', popover-trigger='mouseenter', popover-placement='bottom') - button(ng-if='user.items.pets["Dragon-Hydra"]', class="pet-button Pet-Dragon-Hydra", ng-class='{active: user.items.currentPet == "Dragon-Hydra"}', ng-click='choosePet("Dragon", "Hydra")', popover='Hydra', popover-trigger='mouseenter', popover-placement='bottom') + button(ng-if='user.items.pets["Wolf-Veteran"]', class="pet-button Pet-Wolf-Veteran", ng-class='{active: user.items.currentPet == "Wolf-Veteran"}', ng-click='choosePet("Wolf", "Veteran")', popover=env.t('veteranwolf'), popover-trigger='mouseenter', popover-placement='bottom') + button(ng-if='user.items.pets["Wolf-Cerberus"]', class="pet-button Pet-Wolf-Cerberus", ng-class='{active: user.items.currentPet == "Wolf-Cerberus"}', ng-click='choosePet("Wolf", "Cerberus")', popover=env.t('cerberuspup'), popover-trigger='mouseenter', popover-placement='bottom') + button(ng-if='user.items.pets["Turkey-Base"]', class="pet-button Pet-Turkey-Base", ng-class='{active: user.items.currentPet == "Turkey-Base"}', ng-click='choosePet("Turkey", "Base")', popover=env.t('turkey'), popover-trigger='mouseenter', popover-placement='bottom') + button(ng-if='user.items.pets["BearCub-Polar"]', class="pet-button Pet-BearCub-Polar", ng-class='{active: user.items.currentPet == "BearCub-Polar"}', ng-click='choosePet("BearCub", "Polar")', popover=env.t('polarbearpup'), popover-trigger='mouseenter', popover-placement='bottom') + button(ng-if='user.items.pets["Dragon-Hydra"]', class="pet-button Pet-Dragon-Hydra", ng-class='{active: user.items.currentPet == "Dragon-Hydra"}', ng-click='choosePet("Dragon", "Hydra")', popover=env.t('hydra'), popover-trigger='mouseenter', popover-placement='bottom') a(target='_blank', href='http://habitrpg.wikia.com/wiki/Contributing_to_HabitRPG') - button(ng-if='!user.items.pets["Dragon-Hydra"]', class="pet-button pet-not-owned", popover-trigger='mouseenter', popover-placement='right', popover="Click the gold paw to learn more about how you can obtain this rare pet through contributing to HabitRPG!", popover-title='How to Get this Pet!') + button(ng-if='!user.items.pets["Dragon-Hydra"]', class="pet-button pet-not-owned", popover-trigger='mouseenter', popover-placement='right', popover=env.t('rarepetpop1'), popover-title=env.t('rarepetpop2')) .PixelPaw-Gold .well.food-tray - p(ng-show='foodCount < 1') You don't have any food. + p(ng-show='foodCount < 1')=env.t('nofood') menu.inventory-list(type='list', ng-if='foodCount > 0') li.customize-menu - menu.pets-menu(label='Food') + menu.pets-menu(label=env.t('food')) div(ng-repeat='(food,points) in ownedItems(user.items.food)') button.customize-option(popover-append-to-body='true', popover='{{Content.food[food].notes}}', popover-title='{{Content.food[food].text}}', popover-trigger='mouseenter', popover-placement='left', ng-click='chooseFood(food)', class='Pet_Food_{{food}}') .badge.badge-info.stack-count {{points}}