mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 15:17:25 +01:00
WIP(party-page): Active party page
This commit is contained in:
@@ -45,7 +45,7 @@
|
||||
"groupDescr": "Description shown in public Guilds list (Markdown OK)",
|
||||
"logoUrl": "Logo URL",
|
||||
"assignLeader": "Assign Group Leader",
|
||||
"members": "Member(s)",
|
||||
"members": "Members",
|
||||
"partyList": "Order for party members in header (reload browser after changing order)",
|
||||
"banTip": "Boot Member",
|
||||
"moreMembers": "more members",
|
||||
@@ -134,5 +134,7 @@
|
||||
"partyExplanation3": "Invite friends now to earn a Quest Scroll!",
|
||||
"wantToStartParty": "Do you want to start a party?",
|
||||
"exclusiveQuestScroll": "Inviting a friend to your party will grant you an exclusive Quest Scroll to battle the Basi-List together!",
|
||||
"nameYourParty": "Name your new party!"
|
||||
"nameYourParty": "Name your new party!",
|
||||
"partyEmpty": "You're the only one in your party. Invite your friends!",
|
||||
"possessiveParty": "<%= name %>'s Party"
|
||||
}
|
||||
|
||||
@@ -59,5 +59,6 @@
|
||||
"doubleSureAbort": "Are you double sure? Make sure they won't hate you forever!",
|
||||
"questWarning": "If new players join the party before the quest starts, they will also receive an invitation. However once the quest has started, no new party members can join the quest.",
|
||||
"bossRageTitle": "Rage",
|
||||
"bossRageDescription": "When this bar fills, the boss will unleash a special attack!"
|
||||
"bossRageDescription": "When this bar fills, the boss will unleash a special attack!",
|
||||
"startQuest": "START A QUEST"
|
||||
}
|
||||
|
||||
@@ -70,3 +70,6 @@ ul
|
||||
|
||||
.width-50
|
||||
width: 50%
|
||||
|
||||
.width-100
|
||||
width: 100%
|
||||
@@ -477,6 +477,7 @@ habitrpg.controller("GroupsCtrl", ['$scope', '$rootScope', 'Shared', 'Groups', '
|
||||
Chat.seenMessage($scope.group._id);
|
||||
|
||||
$scope.create = function(group){
|
||||
if (!group.name) group.name = env.t('possessiveParty', {name: User.user.profile.name});
|
||||
group.$save(function(){
|
||||
Analytics.track({'hitType':'event','eventCategory':'behavior','eventAction':'join group','owner':true,'groupType':'party','privacy':'private'});
|
||||
Analytics.updateUser({'partyID':group.id,'partySize':1});
|
||||
|
||||
@@ -16,7 +16,7 @@ a.pull-right.gem-wallet(ng-if='group.type!="party"', popover-trigger='mouseenter
|
||||
.panel.panel-default
|
||||
.panel-heading(bindonce='group')
|
||||
h3.panel-title
|
||||
| {{group.name}}
|
||||
span {{group.name}}
|
||||
span.group-leave-join(ng-if='group')
|
||||
a.btn.btn-sm.btn-danger.pull-right(ng-if=":: isMemberOfGroup(User.user._id, group)", ng-click='clickLeave(group, $event)')
|
||||
span.glyphicon.glyphicon-ban-circle
|
||||
@@ -50,16 +50,11 @@ a.pull-right.gem-wallet(ng-if='group.type!="party"', popover-trigger='mouseenter
|
||||
div(ng-show='!group._editing')
|
||||
img.pull-right(ng-show='group.logo', ng-src='{{group.logo}}')
|
||||
markdown(text='group.description')
|
||||
hr
|
||||
br
|
||||
p=env.t('groupLeader')
|
||||
|:
|
||||
a(class='badge badge-info', ng-click='clickMember(group.leader._id, true)')
|
||||
| {{group.leader.profile.name}}
|
||||
.slight-vertical-padding
|
||||
small.muted=env.t('groupID')
|
||||
|: {{group._id}}
|
||||
|
||||
include ./challenge-box
|
||||
|
||||
// ------ Members -------
|
||||
.panel.panel-default
|
||||
@@ -68,7 +63,7 @@ a.pull-right.gem-wallet(ng-if='group.type!="party"', popover-trigger='mouseenter
|
||||
=env.t('members')
|
||||
button.pull-right.btn.btn-primary(ng-click="openInviteModal(group)")=env.t("inviteFriends")
|
||||
.panel-body.modal-fixed-height
|
||||
div.form-group(ng-if='::group.type=="party"')
|
||||
div.form-group(ng-if='::group.type=="party" && group.memberCount > 1')
|
||||
p=env.t('partyList')
|
||||
select.form-control#partyOrder(
|
||||
ng-model='user.party.order',
|
||||
@@ -83,7 +78,8 @@ a.pull-right.gem-wallet(ng-if='group.type!="party"', popover-trigger='mouseenter
|
||||
ng-options='k as v for (k , v) in partyOrderAscendingChoices',
|
||||
ng-change='set({"party.orderAscending": user.party.orderAscending})'
|
||||
)
|
||||
table.table.table-striped(bindonce='group')
|
||||
h4(ng-show='group.memberCount === 1 && group.type === "party"')=env.t('partyEmpty')
|
||||
table.table.table-striped(ng-show='group.memberCount > 1 || group.type !== "party"' bindonce='group')
|
||||
tr(ng-repeat='member in group.members track by member._id')
|
||||
td.media
|
||||
// allow leaders to ban members
|
||||
@@ -111,10 +107,18 @@ a.pull-right.gem-wallet(ng-if='group.type!="party"', popover-trigger='mouseenter
|
||||
span(ng-click='clickMember(invite._id, true)')
|
||||
| {{invite.profile.name}}
|
||||
|
||||
div.text-center(ng-if='group.type === "party"')
|
||||
button.btn.btn-success.margin-auto.width-100=env.t('startQuest')
|
||||
|
||||
include ./challenge-box
|
||||
|
||||
div(ng-if="group")
|
||||
a.btn.btn-danger(ng-if=':: isMemberOfGroup(User.user._id, group)', data-id='{{group.id}}', ng-click='clickLeave(group, $event)')=env.t('leave')
|
||||
a.btn.btn-success(ng-if=':: !isMemberOfGroup(User.user._id, group)', ng-click='join(group)')=env.t('join')
|
||||
|
||||
.slight-vertical-padding
|
||||
small.muted=env.t('groupID')
|
||||
| : {{group._id}}
|
||||
|
||||
.col-md-8
|
||||
div()
|
||||
textarea.form-control(ng-show='group._editing', rows=6, placeholder=env.t('leaderMsg'), ng-model='group.leaderMessage')
|
||||
|
||||
@@ -26,5 +26,5 @@ script(type='text/ng-template', id='partials/options.social.party.html')
|
||||
.row.margin-auto.text-center
|
||||
h4=env.t('wantToStartParty')
|
||||
.row.margin-auto.text-center
|
||||
span.btn.btn-primary(ng-click="inviteOrStartParty(group)")=env.t('inviteFriendsNow')
|
||||
span.btn.btn-default=env.t('inviteFriendsLater')
|
||||
span.btn.btn-primary(ng-click='inviteOrStartParty(group)')=env.t('inviteFriendsNow')
|
||||
span.btn.btn-default(ng-click='create(newGroup)')=env.t('inviteFriendsLater')
|
||||
|
||||
Reference in New Issue
Block a user