diff --git a/pages/favoris.vue b/pages/favoris.vue index f07c11bedc6d7edb5cdf942794eaecf4d7c2e65d..a4af92a41146e0faed8849a2204b13eb556829f3 100644 --- a/pages/favoris.vue +++ b/pages/favoris.vue @@ -10,13 +10,20 @@ <div class="alert alert-danger" v-if="error">{{ error }}</div> </transition> <transition name="fade"> - <MemberList - defaultSort="date_membership" - :members="favoris" - type="favoris" + <div v-if=" !$apollo.queries.favoris.loading && favoris && favoris.length != 0 - " /> + "> + <input + type="text" + v-model="search" + class="form-control col-sm-6 col-md-5 col-lg-4 col-xl-3 mx-auto mb-2" + :placeholder="$t('recherche.title')" /> + <MemberList + defaultSort="date_membership" + :members="filteredFavoris" + type="favoris" /> + </div> </transition> <transition name="fade"> <div @@ -48,9 +55,17 @@ export default { active: true } ], + search: "", error: null } }, + computed: { + filteredFavoris() { + return this.favoris.filter((el) => + el.uid.toLowerCase().includes(this.search.toLowerCase()) + ) + } + }, apollo: { favoris: { query: FAVORIS, @@ -60,12 +75,7 @@ export default { } }, update(data) { - let retour = [] - for (let i = 0; i < data.filterGroup.selected.length; i++) { - retour[i] = data.filterGroup.selected[i].id - } - - return retour + return data.filterGroup.selected.map((el) => el.id) }, error(err) { this.error = err.message