2015-07-14 12:56:53 +00:00
script(type='text/ng-template', id='partials/options.social.challenges.detail.close.html')
2014-02-08 15:27:34 +00:00
a.btn.btn-sm.btn-danger(ng-click="delete(closingChal)")=env.t('delete')
2014-01-30 20:25:25 +00:00
h5= '- ' + env.t('or') + ' -'
2015-05-25 01:51:42 +00:00
select(ui-select2, ng-required=true, ng-model='closingChal.winner', data-placeholder=env.t('selectWinner'), ng-change='selectWinner(closingChal)', style='display:block')
2014-01-23 07:20:59 +00:00
option(value='')
option(ng-repeat='u in closingChal.members', value='{{u._id}}') {{u.profile.name}}
2015-05-25 01:51:42 +00:00
.text-right
small.btn-link(ng-click='cancelClosing(closingChal)')=env.t('cancel')
2013-10-31 20:26:18 +00:00
2013-11-02 06:11:28 +00:00
script(type='text/ng-template', id='partials/options.social.challenges.detail.member.html')
2014-02-05 18:39:26 +00:00
.modal.bs-modal-lg(style='display: block')
.modal-dialog.modal-lg
.modal-content
.modal-header
button.close(type='button', ng-click='$state.go("^")', aria-hidden='true') ×
2015-08-01 14:12:58 +00:00
a(ng-click='clickMember(obj._id, true)')
h3 {{obj.profile.name}}
2014-02-05 18:39:26 +00:00
.modal-body
2015-02-03 16:29:36 +00:00
habitrpg-tasks(main=false, modal='true')
2014-02-05 18:39:26 +00:00
.modal-footer
2015-08-03 13:32:35 +00:00
.btn-group.pull-left(role="group")
button.btn.btn-default(ng-click='clickMember(obj._id, true)')
.glyphicon.glyphicon-user
button.btn.btn-default(ng-click='sendMessageToChallengeParticipant(obj._id)')
.glyphicon.glyphicon-envelope
button.btn.btn-default(ng-click='sendGiftToChallengeParticipant(obj._id)')
.glyphicon.glyphicon-gift
2014-02-08 15:27:34 +00:00
a.btn.btn-default(ng-click='$state.go("^")')=env.t('close')
2013-11-02 06:11:28 +00:00
2013-10-31 21:37:04 +00:00
script(type='text/ng-template', id='partials/options.social.challenges.detail.html')
2013-10-30 00:49:49 +00:00
// Edit button
2015-08-16 06:50:15 +00:00
div(bindonce='challenge', ng-if='challenge.leader._id==user._id || user.contributor.admin')
2014-02-05 18:39:26 +00:00
div(ng-hide='challenge._locked==false')
2015-03-28 09:01:44 +00:00
button.btn.btn-sm.btn-default(ng-click='edit(challenge)')=env.t('edit')
2015-06-16 00:46:28 +00:00
button.btn.btn-sm.btn-success(ng-click='clone(challenge)')=env.t('clone')
2014-02-08 15:27:34 +00:00
button.btn.btn-sm.btn-warning(ng-click='close(challenge, $event)', tooltip=env.t('deleteOrSelect'))=env.t('endChallenge')
2014-02-05 18:39:26 +00:00
form(ng-show='challenge._locked==false')
.form-group(ng-show='challenge._locked==false')
2014-02-08 15:27:34 +00:00
button.btn.btn-sm.btn-primary(ng-click='save(challenge)')=env.t('save')
button.btn.btn-sm.btn-default(ng-click='challenge._locked=true')=env.t('cancel')
2014-02-05 18:39:26 +00:00
.form-group
input.form-control(type='text', ng-model='challenge.name')
.form-group
input.form-control(type='text', minlength="3", maxlength="16", ng-model='challenge.shortName', placeholder=env.t('challengeTag'), required)
.form-group
textarea.form-control(cols='3', placeholder=env.t('challengeDescr'), ng-model='challenge.description')
2013-10-31 22:22:37 +00:00
hr
2013-10-30 00:49:49 +00:00
2014-01-16 19:28:28 +00:00
.well(bindonce='challenge', ng-if='challenge.description')
2015-01-01 19:57:57 +00:00
markdown(text='challenge.description')
2014-02-06 23:58:40 +00:00
.modal-body=env.t('challengeDiscription')
2013-10-30 00:49:49 +00:00
habitrpg-tasks(obj='challenge', main=false)
2013-11-02 06:11:28 +00:00
// Member List
2013-11-23 06:44:02 +00:00
div(bindonce='challenge', ng-if='challenge.members.length > 0')
2014-10-31 19:03:57 +00:00
a.btn.btn-primary.btn-sm.pull-right(ng-href='/api/v2/challenges/{{challenge._id}}/csv')
2014-01-23 16:02:16 +00:00
=env.t('exportChallengeCSV')
2014-01-22 21:16:54 +00:00
h3=env.t('hows')
2013-11-02 23:07:12 +00:00
menu
2014-09-18 16:37:02 +00:00
button.customize-option(ng-repeat='member in challenge.members track by member._id', ng-click='toggleMember(challenge._id, member._id)') {{member.profile.name}}
2013-11-02 23:07:12 +00:00
div(ui-view)
2013-11-02 06:11:28 +00:00
2013-11-02 23:07:12 +00:00
// Accordion version if we choose that instead
//- div(ng-if='challenge.members')
2014-01-22 21:16:54 +00:00
h4=env.t('hows')
2013-11-22 23:16:24 +00:00
.accordion-group(bindonce='challenge.members', ng-repeat='member in challenge.members')
2013-10-31 21:26:48 +00:00
.accordion-heading
2013-11-02 06:11:28 +00:00
a.accordion-toggle(ng-click='toggleMember(challenge._id, member._id)') {{member.profile.name}}
.accordion-body(ng-class='{collapse: $stateParams.uid != member._id}')
2013-11-23 06:44:02 +00:00
.accordion-inner(ng-if='$stateParams.uid == member._id')
2013-11-02 23:07:12 +00:00
div(ui-view)
2013-10-30 00:49:49 +00:00
2013-10-31 21:37:04 +00:00
script(type='text/ng-template', id='partials/options.social.challenges.html')
2015-07-14 13:18:02 +00:00
.options-blurbmenu
small.muted=env.t('blurbChallenges')
2015-06-28 16:00:31 +00:00
2014-02-05 18:39:26 +00:00
.container-fluid
.row
2014-12-08 02:20:42 +00:00
.col-md-2
2015-03-28 06:40:03 +00:00
.well#challenges-filters(ng-hide="cid")
2014-12-08 02:20:42 +00:00
h3=env.t('filter') + ':'
h4=env.t('groups')
ul.list-unstyled
a.btn.btn-xs.btn-default.pull-left(ng-click='selectAll()')=env.t('all')
a.btn.btn-xs.btn-default(ng-click='selectNone()')=env.t('none')
br
.checkbox(ng-repeat='group in groupsFilter')
label
input(type='checkbox', ng-model='search.group[group._id]')
| {{group.name}}
h4=env.t('membership')
.radio
label
2015-06-14 00:41:41 +00:00
input(type='radio', name='search-participation-radio', ng-model='search._isMember', ng-value='true', ng-change='filterChallenges')
2014-12-08 02:20:42 +00:00
=env.t('participating')
.radio
label
2015-06-14 00:41:41 +00:00
input(type='radio', name='search-participation-radio', ng-model='search._isMember', ng-value='false', ng-change='filterChallenges')
2014-12-08 02:20:42 +00:00
=env.t('notParticipating')
.radio
label
2015-06-14 00:41:41 +00:00
input(type='radio', name='search-participation-radio', ng-model='search._isMember', value='either', ng-change='filterChallenges')
2014-12-08 02:20:42 +00:00
=env.t('either')
2015-04-11 20:58:29 +00:00
h4=env.t('challengedOwnedFilterHeader')
.radio
label
2015-06-14 00:41:41 +00:00
input(type='radio', name='search-owner-radio', ng-model='search._isOwner', ng-value='true', ng-change='filterChallenges')
2015-04-11 20:58:29 +00:00
=env.t('challengedOwnedFilter')
.radio
label
2015-06-14 00:41:41 +00:00
input(type='radio', name='search-owner-radio', ng-model='search._isOwner', ng-value='false', ng-change='filterChallenges')
2015-04-11 20:58:29 +00:00
=env.t('challengedNotOwnedFilter')
.radio
label
2015-06-14 00:41:41 +00:00
input(type='radio', name='search-owner-radio', ng-model='search._isOwner', value='either', ng-change='filterChallenges', checked='checked')
2015-04-11 20:58:29 +00:00
=env.t('challengedEitherOwnedFilter')
2014-02-05 18:39:26 +00:00
.col-md-10
2015-06-18 00:12:49 +00:00
a.btn.btn-info#back-to-challenges(ng-show="cid",
ui-sref='options.social.challenges', ui-sref-opts='{reload: true}')
=env.t('backToChallenges')
2014-02-05 18:39:26 +00:00
// Creation form
button.btn.btn-success#create-challenge-btn(ng-click='create()', ng-hide='newChallenge')=env.t('createChallenge')
.create-challenge-from.well(ng-if='newChallenge')
form(ng-submit='save(newChallenge)')
div
2015-07-24 15:40:44 +00:00
input.btn.btn-success(type='submit', value=env.t('save'),
2015-07-24 22:15:37 +00:00
ng-disabled='insufficientGemsForTavernChallenge()')
2014-02-05 18:39:26 +00:00
input.btn.btn-danger(type='button', ng-click='discard()', value=env.t('discard'))
select(ng-model='newChallenge.group', ng-required='required', name='Group', ng-options='g._id as g.name for g in groups')
2015-07-24 22:15:37 +00:00
.alert.alert-warning(ng-if='insufficientGemsForTavernChallenge()',
ng-click='openModal("buyGems",{track:"Gems > Toolbar"})')
=env.t('challengeNotEnoughGems')
2015-07-24 15:40:44 +00:00
.challenge-options(ng-show='newChallenge.group')
2014-02-05 18:39:26 +00:00
.form-group
2015-07-24 15:40:44 +00:00
input.form-control(type='text', ng-model='newChallenge.name',
placeholder=env.t('challengeTitle'), required='required',
2015-07-24 22:15:37 +00:00
ng-disabled='insufficientGemsForTavernChallenge()')
2013-11-01 01:18:34 +00:00
2014-02-05 18:39:26 +00:00
.form-group
2015-07-24 15:40:44 +00:00
input.form-control(type='text', minlength="3", maxlength="16",
ng-model='newChallenge.shortName', placeholder=env.t('challengeTag'), required
2015-07-24 22:15:37 +00:00
ng-disabled='insufficientGemsForTavernChallenge()')
2014-10-09 05:56:06 +00:00
|
2015-08-23 02:31:10 +00:00
a.hint.vertical-20(target='_blank', href='http://habitica.wikia.com/wiki/Tags',
2015-07-24 15:40:44 +00:00
popover=env.t('challengeTagPop'), popover-trigger='mouseenter', popover-placement='right')
2014-04-07 16:40:51 +00:00
=env.t('moreInfo')
2013-11-01 01:18:34 +00:00
2014-02-05 18:39:26 +00:00
.form-group
2015-07-24 15:40:44 +00:00
textarea.form-control(cols='3', placeholder=env.t('challengeDescr'), ng-model='newChallenge.description'
2015-07-24 22:15:37 +00:00
ng-disabled='insufficientGemsForTavernChallenge()')
2013-10-27 00:24:45 +00:00
2015-03-27 10:11:12 +00:00
.form-group
2015-05-25 01:51:42 +00:00
.input-group
span.input-group-addon
.Pet_Currency_Gem1x
2015-07-24 15:40:44 +00:00
input.form-control(type='number', placeholder=env.t('prize'),
2015-07-24 22:15:37 +00:00
ng-disabled='insufficientGemsForTavernChallenge()'
2015-07-24 15:40:44 +00:00
min="{{newChallenge.group=='habitrpg' ? 1 : 0}}",
max="{{maxPrize}}", ng-model='newChallenge.prize')
a.hint(popover="{{newChallenge.group=='habitrpg' ? env.t('prizePopTavern') : env.t('prizePop')}}",
popover-trigger='mouseenter', popover-placement='right')
2014-04-07 16:40:51 +00:00
=env.t('moreInfo')
2015-05-25 01:51:42 +00:00
.pull-right(ng-show='newChallenge.group=="habitrpg"')
2014-02-05 18:39:26 +00:00
!=env.t('publicChallenges')
2013-10-31 18:44:50 +00:00
2014-02-05 18:39:26 +00:00
.form-group(ng-if='user.contributor.admin')
.checkbox
label
input(type='checkbox', ng-model='newChallenge.official')
=env.t('officialChallenge')
2014-01-03 20:36:13 +00:00
2014-02-05 18:39:26 +00:00
habitrpg-tasks(main=false, obj='newChallenge')
2013-10-27 00:24:45 +00:00
2014-02-05 18:39:26 +00:00
// Challenges list
.panel-group
2014-09-18 16:37:02 +00:00
.panel.panel-default(ng-repeat='challenge in challenges|filter:filterChallenges track by challenge._id ')
2014-02-05 18:39:26 +00:00
.panel-heading
ul.pull-right.challenge-accordion-header-specs
2014-12-05 21:13:34 +00:00
li.bg-transparent(ng-if='challenge.official')
2014-02-05 18:39:26 +00:00
span.label.label-success=env.t('officialChallenge')
2015-04-06 06:44:43 +00:00
li
a(ui-sref="options.social.guilds.detail({gid:challenge.group._id})" ng-if="challenge.group.type=='guild'")
| {{challenge.group.name}}
a(ui-sref="options.social.party" ng-if="challenge.group.type=='party'")
| {{challenge.group.name}}
2014-02-05 18:39:26 +00:00
li
2014-02-17 21:41:39 +00:00
=env.t('by') + ' '
2015-03-13 01:19:03 +00:00
a(ng-click='clickMember(challenge.leader._id, true)') {{challenge.leader.profile.name}}
2014-02-17 21:41:39 +00:00
li
2014-03-01 14:58:11 +00:00
=env.t('participants', {membercount: "{{challenge.memberCount}}"})
2014-02-05 18:39:26 +00:00
li(ng-show='challenge.prize')
2015-06-15 21:37:18 +00:00
p!=env.t('prizeValue', {gemcount: "{{challenge.prize}}", gemicon: "<span class='inline-block Pet_Currency_Gem1x'></span>"})
2014-12-05 21:13:34 +00:00
li.bg-transparent
2014-02-05 18:39:26 +00:00
// leave / join
2014-02-08 15:27:34 +00:00
a.btn.btn-sm.btn-danger(ng-show='challenge._isMember', ng-click='clickLeave(challenge, $event)')
2014-02-05 18:39:26 +00:00
span.glyphicon.glyphicon-ban-circle
=env.t('leave')
2014-02-08 15:27:34 +00:00
a.btn.btn-sm.btn-success(ng-hide='challenge._isMember', ng-click='join(challenge)')
2014-02-05 18:39:26 +00:00
span.glyphicon.glyphicon-ok
=env.t('join')
2015-03-28 06:40:03 +00:00
a.accordion-toggle(id="{{challenge._id}}" ng-click='toggle(challenge._id)') {{challenge.name}}
2014-02-05 18:39:26 +00:00
.panel-body(ng-class='{collapse: !$stateParams.cid == challenge._id}')
.accordion-inner(ng-if='$stateParams.cid == challenge._id')
div(ui-view)