diff --git a/website/client/components/challenges/challengeDetail.vue b/website/client/components/challenges/challengeDetail.vue index bf58dc934f..7464cb16bc 100644 --- a/website/client/components/challenges/challengeDetail.vue +++ b/website/client/components/challenges/challengeDetail.vue @@ -3,7 +3,7 @@ challenge-modal(v-on:updatedChallenge='updatedChallenge') leave-challenge-modal(:challengeId='challenge._id') close-challenge-modal(:members='members', :challengeId='challenge._id') - challenge-member-progress-modal(:memberId='progressMemberId', :challengeId='challenge._id') + challenge-member-progress-modal(:challengeId='challenge._id') .col-12.col-md-8.standard-page .row .col-12.col-md-6 @@ -231,7 +231,6 @@ export default { creatingTask: {}, workingTask: {}, taskFormPurpose: 'create', - progressMemberId: '', searchTerm: '', memberResults: [], }; @@ -345,6 +344,7 @@ export default { this.tasksByType[task.type].splice(index, 1); }, showMemberModal () { + // @TODO: Change these to options and add a custom event to members modal this.$store.state.memberModalOptions.challengeId = this.challenge._id; this.$store.state.memberModalOptions.groupId = 'challenge'; // @TODO: change these terrible settings this.$store.state.memberModalOptions.group = this.group; @@ -374,8 +374,9 @@ export default { Object.assign(this.challenge, eventData.challenge); }, openMemberProgressModal (member) { - this.progressMemberId = member._id; - this.$root.$emit('bv::show::modal', 'challenge-member-modal'); + this.$root.$emit('habitica:challenge:member-progress', { + progressMemberId: member._id, + }); }, async exportChallengeCsv () { // let response = await this.$store.dispatch('challenges:exportChallengeCsv', { diff --git a/website/client/components/challenges/challengeMemberProgressModal.vue b/website/client/components/challenges/challengeMemberProgressModal.vue index dca795c473..e446c4f4db 100644 --- a/website/client/components/challenges/challengeMemberProgressModal.vue +++ b/website/client/components/challenges/challengeMemberProgressModal.vue @@ -1,5 +1,8 @@ + + diff --git a/website/client/components/groups/membersModal.vue b/website/client/components/groups/membersModal.vue index c9ca4ca013..1ce8bc98af 100644 --- a/website/client/components/groups/membersModal.vue +++ b/website/client/components/groups/membersModal.vue @@ -53,6 +53,9 @@ div span.dropdown-icon-item .svg-icon.inline(v-html="icons.removeIcon") span.text {{$t('removeManager2')}} + b-dropdown-item(@click='viewProgress(member)') + span.dropdown-icon-item + span.text {{ $t('viewProgress') }} .row(v-if='isLoadMoreAvailable') .col-12.text-center button.btn.btn-secondary(@click='loadMoreMembers()') {{ $t('loadMore') }} @@ -475,6 +478,11 @@ export default { groupData.leader = member; this.$root.$emit('updatedGroup', groupData); }, + viewProgress (member) { + this.$root.$emit('habitica:challenge:member-progress', { + progressMemberId: member._id, + }); + }, }, }; diff --git a/website/common/locales/en/challenge.json b/website/common/locales/en/challenge.json index 39d0342263..2953470e5f 100644 --- a/website/common/locales/en/challenge.json +++ b/website/common/locales/en/challenge.json @@ -132,6 +132,7 @@ "locationRequired": "Location of challenge is required ('Add to')", "categoiresRequired": "One or more categories must be selected", "viewProgressOf": "View Progress Of", + "viewProgress": "View Progress", "selectMember": "Select Member", "confirmKeepChallengeTasks": "Do you want to keep challenge tasks?", "selectParticipant": "Select a Participant"