diff --git a/common/locales/en/groups.json b/common/locales/en/groups.json index 26b6549591..1e6e9d982e 100644 --- a/common/locales/en/groups.json +++ b/common/locales/en/groups.json @@ -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" } diff --git a/common/locales/en/quests.json b/common/locales/en/quests.json index f0f3918a28..6b47aac5fb 100644 --- a/common/locales/en/quests.json +++ b/common/locales/en/quests.json @@ -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" } diff --git a/website/public/css/shared.styl b/website/public/css/shared.styl index 755fc1e9b3..b1cc13428d 100644 --- a/website/public/css/shared.styl +++ b/website/public/css/shared.styl @@ -70,3 +70,6 @@ ul .width-50 width: 50% + +.width-100 + width: 100% \ No newline at end of file diff --git a/website/public/js/controllers/groupsCtrl.js b/website/public/js/controllers/groupsCtrl.js index 8e5394358b..7ea4891efa 100644 --- a/website/public/js/controllers/groupsCtrl.js +++ b/website/public/js/controllers/groupsCtrl.js @@ -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}); diff --git a/website/views/options/social/group.jade b/website/views/options/social/group.jade index 05e56f0743..7b642422ff 100644 --- a/website/views/options/social/group.jade +++ b/website/views/options/social/group.jade @@ -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') diff --git a/website/views/options/social/party.jade b/website/views/options/social/party.jade index bf6b5721c4..d5af0bcd66 100644 --- a/website/views/options/social/party.jade +++ b/website/views/options/social/party.jade @@ -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')