Added tabbed display to quest in progress, added profile links, changed button behavior

This commit is contained in:
hairlessbear
2015-05-15 23:28:01 -04:00
parent 420a2a661a
commit 905c4e8273
2 changed files with 78 additions and 63 deletions
+2
View File
@@ -1,6 +1,8 @@
{
"quests": "Quests",
"quest": "quest",
"questDetails": "Quest Details",
"invites": "Invites",
"completed": "Completed!",
"youReceived": "You've Received",
"questSend": "Clicking \"Invite\" will send an invitation to your party members. When all members have accepted or denied, the quest begins. See status under Options > Social > Party.",
+76 -63
View File
@@ -5,15 +5,15 @@ mixin boss(tavern, mobile)
h3.panel-title(ng-if='group.quest.active==false')=env.t('questInvitation') + ' {{::Content.quests[group.quest.key].text()}}'
h3.panel-title(ng-if='group.quest.active==true') {{::Content.quests[group.quest.key].text()}}
.panel-body.modal-fixed-height
div(ng-if='group.quest.active==false' ng-init="selectedTab = 2")
div(ng-if='group.quest.active==false' ng-init="selectedTab = 1")
ul.nav.nav-pills
li(ng-class="{active:selectedTab === 1}")
a(ng-click="selectedTab = 1")
="Quest Details"
=env.t('invites')
li(ng-class="{active:selectedTab === 2}")
a(ng-click="selectedTab = 2")
="Invitation List"
div(ng-show="selectedTab === 1")
=env.t('questDetails')
div(ng-show="selectedTab === 2")
br
div(class="quest_{{::group.quest.key}}")
div(ng-if='::Content.quests[group.quest.key].boss')
@@ -29,14 +29,16 @@ mixin boss(tavern, mobile)
strong=env.t('collect') + ': '
| {{::Content.quests[group.quest.key].collect[k].count}} {{::Content.quests[group.quest.key].collect[k].text()}}
div(ng-bind-html='::Content.quests[group.quest.key].notes()')
div(ng-show="selectedTab === 2")
div(ng-show="selectedTab === 1")
br
table.table.table-striped
tr(ng-repeat='member in group.members')
td
span(ng-if=':: group.quest.leader && group.quest.leader==member._id && isMemberOfGroup(group.quest.leader,group) && isMemberOfPendingQuest(group.quest.leader,group)')
table.table.table-striped(bindonce='group')
tr(ng-repeat='member in group.members track by member._id')
td.media
span(ng-if=':: group.quest.leader && group.quest.leader==member._id && isMemberOfGroup(group.quest.leader,group) && isMemberOfPendingQuest(group.quest.leader,group)')
|* 
|{{::member.profile.name}}
a.media-body
span(ng-click='clickMember(member._id, true)')
|{{::member.profile.name}}
td {{group.quest.members[member._id] === true ? env.t('accepted') : group.quest.members[member._id] === false ? env.t('rejected') : env.t('pending')}}
span(ng-if=':: group.quest.leader && isMemberOfGroup(group.quest.leader,group) && isMemberOfPendingQuest(group.quest.leader,group)')
@@ -59,62 +61,73 @@ mixin boss(tavern, mobile)
// only the quest owner sees the cancel button:
button.btn.btn-sm.btn-danger(ng-if=':: (group.quest.leader && group.quest.leader==user._id && isMemberOfGroup(group.quest.leader,group) && isMemberOfPendingQuest(group.quest.leader,group))', ng-click='questCancel()')=env.t('cancel')
div(ng-if='group.quest.active==true')
div(ng-if='::Content.quests[group.quest.key].boss',ng-init='boss=Content.quests[group.quest.key].boss;progress=group.quest.progress')
if tavern
div(class="quest_{{group.quest.key}} quest_{{group.quest.key}}_#{env.worldDmg.recent}")
else
div(ng-if='group.quest.active==true' ng-init='selectedTab=1')
ul.nav.nav-pills
li(ng-class="{active:selectedTab === 1}")
a(ng-click="selectedTab = 1")
=env.t('questDetails')
li(ng-class="{active:selectedTab === 2}")
a(ng-click="selectedTab = 2")
=env.t('questParticipants')
div(ng-show="selectedTab === 1")
br
div(ng-if='::Content.quests[group.quest.key].boss',ng-init='boss=Content.quests[group.quest.key].boss;progress=group.quest.progress')
if tavern
div(class="quest_{{group.quest.key}} quest_{{group.quest.key}}_#{env.worldDmg.recent}")
else
div(class="quest_{{::group.quest.key}}")
//-
.progress
.bar(style='width: {{Shared.percent(group.quest.hp, Content.quests[group.quest.key].hp)}}%;')
span.meter-text
span.glyphicon.glyphicon-heart
| {{group.quest.hp | number:0}} / {{Content.quests[group.quest.key].hp}}
.hero-stats
.meter-label(tooltip=env.t('bossHP'))
span.glyphicon.glyphicon-heart
.meter.health
.bar(style='width: {{Shared.percent(progress.hp, boss.hp)}}%;')
span.meter-text.value
| {{Math.ceil(progress.hp) | goldRoundThousandsToK}} / {{boss.hp | goldRoundThousandsToK}}
.meter-label(tooltip='Rage', ng-if='boss.rage')
span.glyphicon.glyphicon-fire
.meter.mana(ng-if='boss.rage',popover="{{::boss.rage.description()}}",popover-title="{{::boss.rage.title()}}",popover-trigger='mouseenter',popover-placement='right')
.bar(style='width: {{Shared.percent(progress.rage, boss.rage.value)}}%;')
span.meter-text.value
| {{Math.ceil(progress.rage) | goldRoundThousandsToK}} / {{boss.rage.value | goldRoundThousandsToK}}
div(ng-if='::Content.quests[group.quest.key].collect')
div(class="quest_{{::group.quest.key}}")
//-
.progress
.bar(style='width: {{Shared.percent(group.quest.hp, Content.quests[group.quest.key].hp)}}%;')
span.meter-text
span.glyphicon.glyphicon-heart
| {{group.quest.hp | number:0}} / {{Content.quests[group.quest.key].hp}}
.hero-stats
.meter-label(tooltip=env.t('bossHP'))
span.glyphicon.glyphicon-heart
.meter.health
.bar(style='width: {{Shared.percent(progress.hp, boss.hp)}}%;')
span.meter-text.value
| {{Math.ceil(progress.hp) | goldRoundThousandsToK}} / {{boss.hp | goldRoundThousandsToK}}
.meter-label(tooltip='Rage', ng-if='boss.rage')
span.glyphicon.glyphicon-fire
.meter.mana(ng-if='boss.rage',popover="{{::boss.rage.description()}}",popover-title="{{::boss.rage.title()}}",popover-trigger='mouseenter',popover-placement='right')
.bar(style='width: {{Shared.percent(progress.rage, boss.rage.value)}}%;')
span.meter-text.value
| {{Math.ceil(progress.rage) | goldRoundThousandsToK}} / {{boss.rage.value | goldRoundThousandsToK}}
div(ng-if='::Content.quests[group.quest.key].collect')
div(class="quest_{{::group.quest.key}}")
h4=env.t('collected') + ':'
table.table.table-striped
tr(ng-repeat='(k,v) in group.quest.progress.collect', class='quest_collected_{{v >= Content.quests[group.quest.key].collect[k].count}}')
td
div.pull-left(class='quest_{{::group.quest.key}}_{{::k}}')
| {{::Content.quests[group.quest.key].collect[k].text()}}
td
|{{v}} / {{Content.quests[group.quest.key].collect[k].count}}
h4=env.t('collected') + ':'
table.table.table-striped
tr(ng-repeat='(k,v) in group.quest.progress.collect', class='quest_collected_{{v >= Content.quests[group.quest.key].collect[k].count}}')
td
div.pull-left(class='quest_{{::group.quest.key}}_{{::k}}')
| {{::Content.quests[group.quest.key].collect[k].text()}}
td
|{{v}} / {{Content.quests[group.quest.key].collect[k].count}}
div(ng-bind-html='::Content.quests[group.quest.key].notes()')
div(ng-bind-html='::Content.quests[group.quest.key].notes()')
unless tavern
quest-rewards(key='{{::group.quest.key}}')
unless tavern
hr
h5=env.t('questParticipants')
table.table.table-striped
tr(ng-repeat='(k,v) in group.members', ng-if='::group.quest.members[v._id]')
td
span(ng-if=':: group.quest.leader && group.quest.leader==v._id && isMemberOfGroup(group.quest.leader,group) && isMemberOfRunningQuest(group.quest.leader,group)')
|* 
|{{::v.profile.name}}
span(ng-if=':: group.quest.leader && isMemberOfGroup(group.quest.leader,group) && isMemberOfRunningQuest(group.quest.leader,group)')
|* 
=env.t('questOwner')
// This is commented-out until we have time to work out why it fails intermittently on the website and always on the mobile app (https://github.com/HabitRPG/habitrpg/issues/4074):
// span(ng-if=':: group.quest.leader && isMemberOfGroup(group.quest.leader,group) && ! isMemberOfRunningQuest(group.quest.leader,group)')
// =env.t('questOwnerNotInRunningQuest')
// span(ng-if=':: ! group.quest.leader || ! isMemberOfGroup(group.quest.leader,group)')
// =env.t('questOwnerNotInRunningQuestParty')
unless tavern
quest-rewards(key='{{::group.quest.key}}')
div(ng-show="selectedTab === 2")
br
table.table.table-striped(bindonce='group')
tr(ng-repeat='(k,v) in group.members track by v._id', ng-if='::group.quest.members[v._id]')
td.media
span(ng-if=':: group.quest.leader && group.quest.leader==v._id && isMemberOfGroup(group.quest.leader,group) && isMemberOfRunningQuest(group.quest.leader,group)')
|* 
a.media-body
span(ng-click='clickMember(v._id, true)')
|{{::v.profile.name}}
span(ng-if=':: group.quest.leader && isMemberOfGroup(group.quest.leader,group) && isMemberOfRunningQuest(group.quest.leader,group)')
|* 
=env.t('questOwner')
// This is commented-out until we have time to work out why it fails intermittently on the website and always on the mobile app (https://github.com/HabitRPG/habitrpg/issues/4074):
// span(ng-if=':: group.quest.leader && isMemberOfGroup(group.quest.leader,group) && ! isMemberOfRunningQuest(group.quest.leader,group)')
// =env.t('questOwnerNotInRunningQuest')
// span(ng-if=':: ! group.quest.leader || ! isMemberOfGroup(group.quest.leader,group)')
// =env.t('questOwnerNotInRunningQuestParty')
div(ng-if='::Content.quests[group.quest.key].boss')
.npc_ian.pull-left