mirror of
https://github.com/sudoxnym/habitica-self-host.git
synced 2026-08-03 12:40:00 +00:00
133 lines
5.9 KiB
Text
133 lines
5.9 KiB
Text
a.pull-right.gem-wallet(ng-if='group.type!="party"', popover-trigger='mouseenter', popover-title=env.t('guildBankPop1'), popover=env.t('guildBankPop2'), popover-placement='left')
|
||
// <span class="task-action-btn tile flush bright add-gems-btn">+</span>
|
||
span.task-action-btn.tile.flush.neutral
|
||
.Pet_Currency_Gem2x.Gems
|
||
| {{group.balance * 4 | number:0 }}
|
||
=' ' + env.t('guildGems')
|
||
|
||
.container-fluid
|
||
.row
|
||
.col-md-4
|
||
|
||
// ------ Bosses -------
|
||
+boss(false, false)
|
||
|
||
// ------ Information -------
|
||
.panel.panel-default
|
||
.panel-heading(bindonce='group')
|
||
h3.panel-title
|
||
| {{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
|
||
=env.t('leave')
|
||
a.btn.btn-success.pull-right(ng-if=':: !isMemberOfGroup(User.user._id, group)', ng-click='join(group)')=env.t('join')
|
||
span(ng-if='group.leader._id == user.id')
|
||
button.btn.btn-sm.btn-primary.pull-right(ng-click='save(group)', ng-show='group._editing')=env.t('save')
|
||
button.btn.btn-sm.btn-default.pull-right(ng-click='group._editing = true', ng-hide='group._editing')=env.t('editGroup')
|
||
|
||
.panel-body
|
||
form(ng-show='group._editing')
|
||
.form-group
|
||
label=env.t('groupName')
|
||
input.form-control(type='text', ng-model='group.name', placeholder=env.t('groupName'))
|
||
.form-group
|
||
label=env.t('description')
|
||
textarea.form-control(rows=6, ng-model='group.description')
|
||
include ../../shared/formatting-help
|
||
.form-group
|
||
label=env.t('logoUrl')
|
||
input.form-control(type='url', placeholder=env.t('logoUrl'), ng-model='group.logo')
|
||
.form-group
|
||
.checkbox
|
||
label
|
||
input(type='checkbox', ng-model='group.leaderOnly.challenges')
|
||
=env.t('leaderOnlyChallenges')
|
||
|
||
h4=env.t('assignLeader')
|
||
select#group-leader-selection(ng-model='group._newLeader', ng-options='member.profile.name for member in group.members')
|
||
|
||
div(ng-show='!group._editing')
|
||
img.img-rendering-auto.pull-right(ng-show='group.logo', ng-src='{{group.logo}}')
|
||
markdown(text='group.description')
|
||
hr
|
||
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
|
||
.panel-heading
|
||
h3.panel-title
|
||
=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"')
|
||
p=env.t('partyList')
|
||
select.form-control#partyOrder(
|
||
ng-model='user.party.order',
|
||
ng-controller='ChatCtrl',
|
||
ng-options='k as v for (k , v) in partyOrderChoices',
|
||
ng-change='set({"party.order": user.party.order})'
|
||
)
|
||
|
|
||
select.form-control#partyOrderAscending(
|
||
ng-model='user.party.orderAscending',
|
||
ng-controller='ChatCtrl',
|
||
ng-options='k as v for (k , v) in partyOrderAscendingChoices',
|
||
ng-change='set({"party.orderAscending": user.party.orderAscending})'
|
||
)
|
||
table.table.table-striped(bindonce='group')
|
||
tr(ng-repeat='member in group.members track by member._id')
|
||
td.media
|
||
// allow leaders to ban members
|
||
div.pull-left(ng-show='group.leader._id == user.id && member._id != user._id')
|
||
a.media-object(ng-click='removeMember(group, member, true)')
|
||
span.glyphicon.glyphicon-ban-circle(tooltip=env.t('banTip'))
|
||
a.media-body
|
||
span(ng-click='clickMember(member._id, true)')
|
||
| {{member.profile.name}}
|
||
tr(ng-if='group.memberCount > group.members.length')
|
||
td
|
||
|<span class='badge'>{{group.memberCount - group.members.length}}
|
||
= ' ' + env.t('moreMembers')
|
||
|</span>
|
||
|
||
h4(ng-show='group.invites.length > 0')=env.t('invited')
|
||
table.table.table-striped
|
||
tr(ng-repeat='invite in group.invites')
|
||
td.media
|
||
// allow leaders to ban members
|
||
div.pull-left(ng-show='group.leader._id == user.id')
|
||
a.media-object(ng-click='removeMember(group, invite, false)')
|
||
span.glyphicon.glyphicon-ban-circle(tooltip=env.t('banTip'))
|
||
a.media-body
|
||
span(ng-click='clickMember(invite._id, true)')
|
||
| {{invite.profile.name}}
|
||
|
||
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')
|
||
|
||
.col-md-8
|
||
div()
|
||
textarea.form-control(ng-show='group._editing', rows=6, placeholder=env.t('leaderMsg'), ng-model='group.leaderMessage')
|
||
table(ng-show='group.leaderMessage')
|
||
tr
|
||
td
|
||
.popover.static-popover.fade.right.in.wide-popover
|
||
.arrow
|
||
h3.popover-title {{group.leader.profile.name}}
|
||
.popover-content
|
||
markdown(text='group.leaderMessage')
|
||
div(ng-controller='ChatCtrl')
|
||
h3=env.t('chat')
|
||
include ./chat-box
|
||
|
||
+chatMessages()
|