mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-18 15:17:25 +01:00
update members list and count when joining or leaving challenge (#11542)
* update members list and count when joining or leaving challenge * remove custom ui logic and use response/fetch data to update challenge
This commit is contained in:
committed by
Matteo Pagliazzi
parent
9a6f98b0b5
commit
f70f7b2a1c
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<challenge-modal @updatedChallenge="updatedChallenge" />
|
<challenge-modal @updatedChallenge="updatedChallenge" />
|
||||||
<leave-challenge-modal :challenge-id="challenge._id" />
|
<leave-challenge-modal :challenge-id="challenge._id" @update-challenge="updateChallenge" />
|
||||||
<close-challenge-modal
|
<close-challenge-modal
|
||||||
:members="members"
|
:members="members"
|
||||||
:challenge-id="challenge._id"
|
:challenge-id="challenge._id"
|
||||||
@@ -493,12 +493,20 @@ export default {
|
|||||||
},
|
},
|
||||||
async joinChallenge () {
|
async joinChallenge () {
|
||||||
this.user.challenges.push(this.searchId);
|
this.user.challenges.push(this.searchId);
|
||||||
await this.$store.dispatch('challenges:joinChallenge', { challengeId: this.searchId });
|
this.challenge = await this.$store.dispatch('challenges:joinChallenge', { challengeId: this.searchId });
|
||||||
|
this.members = await this
|
||||||
|
.loadMembers({ challengeId: this.searchId, includeAllPublicFields: true });
|
||||||
|
|
||||||
await this.$store.dispatch('tasks:fetchUserTasks', { forceLoad: true });
|
await this.$store.dispatch('tasks:fetchUserTasks', { forceLoad: true });
|
||||||
},
|
},
|
||||||
async leaveChallenge () {
|
async leaveChallenge () {
|
||||||
this.$root.$emit('bv::show::modal', 'leave-challenge-modal');
|
this.$root.$emit('bv::show::modal', 'leave-challenge-modal');
|
||||||
},
|
},
|
||||||
|
async updateChallenge () {
|
||||||
|
this.challenge = await this.$store.dispatch('challenges:getChallenge', { challengeId: this.searchId });
|
||||||
|
this.members = await this
|
||||||
|
.loadMembers({ challengeId: this.searchId, includeAllPublicFields: true });
|
||||||
|
},
|
||||||
closeChallenge () {
|
closeChallenge () {
|
||||||
this.$root.$emit('bv::show::modal', 'close-challenge-modal');
|
this.$root.$emit('bv::show::modal', 'close-challenge-modal');
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ export default {
|
|||||||
this.close();
|
this.close();
|
||||||
},
|
},
|
||||||
close () {
|
close () {
|
||||||
|
this.$emit('update-challenge');
|
||||||
this.$root.$emit('bv::hide::modal', 'leave-challenge-modal');
|
this.$root.$emit('bv::hide::modal', 'leave-challenge-modal');
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user