Files
habitica/website/client/src/mixins/challengeUtilities.js
T
Liza 9e655d70d2 Fix "Not Participating" filter checkbox on Discover Challenges screen, Fixes #13025 (#13183)
* change 'role' options and filters to 'membership'

* added membership filtering function to discover challenges

* fix accidental deletion

* complete removal of roles from challenge filters

* abstract challenge "participating" filtering into mixin

* selecting "participating" and "not participating" shows all challenges
2021-05-28 16:57:03 -05:00

32 lines
1.0 KiB
JavaScript

export default {
methods: {
isMemberOfChallenge (user, challenge) {
return user.challenges.indexOf(challenge._id) !== -1;
},
},
computed: {
filteredChallenges () {
const { filters } = this;
const { user } = this;
return this.challenges.filter(challenge => {
const filteringMembership = filters.membership && filters.membership.length > 0;
// if both filters are selected, display all challenges
if (filteringMembership && filters.membership.indexOf('participating') !== -1
&& filteringMembership && filters.membership.indexOf('not_participating') !== -1) {
return true;
}
if (filteringMembership && filters.membership.indexOf('participating') !== -1) {
return this.isMemberOfChallenge(user, challenge);
}
if (filteringMembership && filters.membership.indexOf('not_participating') !== -1) {
return !this.isMemberOfChallenge(user, challenge);
}
return true;
});
},
},
};