From 25ae7a01a1a0c393219305b0e7a10a9e57424baa Mon Sep 17 00:00:00 2001
From: paidge <paidge_cs@hotmail.com>
Date: Tue, 1 Feb 2022 22:58:16 +0100
Subject: [PATCH] add a search input for favoris

---
 pages/favoris.vue | 32 +++++++++++++++++++++-----------
 1 file changed, 21 insertions(+), 11 deletions(-)

diff --git a/pages/favoris.vue b/pages/favoris.vue
index f07c11b..a4af92a 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
-- 
GitLab