From 4cd5a4cb4ea86ea2a764f1b980f606cea81d2459 Mon Sep 17 00:00:00 2001 From: Lizapritchardg Date: Sun, 18 Apr 2021 17:18:28 -0400 Subject: [PATCH] added membership filtering function to discover challenges --- .../components/challenges/findChallenges.vue | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/website/client/src/components/challenges/findChallenges.vue b/website/client/src/components/challenges/findChallenges.vue index 55b972a169..71165aabc5 100644 --- a/website/client/src/components/challenges/findChallenges.vue +++ b/website/client/src/components/challenges/findChallenges.vue @@ -147,7 +147,7 @@ export default { value: 'none', }, { - text: this.$t('participants'), + text: this.$t(' ipants'), value: 'participants', }, { @@ -171,7 +171,23 @@ export default { computed: { ...mapState({ user: 'user.data' }), filteredChallenges () { - return this.challenges; + const { filters } = this; + const { user } = this; + + return this.challenges.filter(challenge => { + let isMember = true; + + const filteringRole = filters.membership && filters.membership.length > 0; + if (filteringRole && filters.membership.indexOf('participating') !== -1) { + isMember = this.isMemberOfChallenge(user, challenge); + } + + if (filteringRole && filters.membership.indexOf('not_participating') !== -1) { + isMember = !this.isMemberOfChallenge(user, challenge); + } + + return isMember; + }); }, }, mounted () {