From 2159f2677c22517655988dc50301dbb779010f74 Mon Sep 17 00:00:00 2001
From: ManUtopiK <emmanuel.salomon@gmail.com>
Date: Tue, 25 Jan 2022 13:24:44 +0100
Subject: [PATCH] Remove neighbor method

---
 components/certif/List.vue | 67 +++++++++++++++++++-------------------
 1 file changed, 33 insertions(+), 34 deletions(-)

diff --git a/components/certif/List.vue b/components/certif/List.vue
index 0d83217..7146b8c 100644
--- a/components/certif/List.vue
+++ b/components/certif/List.vue
@@ -6,31 +6,31 @@
 			<tbody>
 				<tr
 					v-for="certif in certifsPending"
-					:key="getNeighbor(certif).uid + certif.expires_on"
+					:key="certif.uid + certif.expires_on"
 					@click="
 						$router.push(
 							localePath({
 								name: 'membres-hash',
-								params: { hash: getNeighbor(certif).hash }
+								params: { hash: certif.hash }
 							})
 						)
 					">
 					<th scope="row" class="py-1">
 						<div>
-							{{ getNeighbor(certif).uid }}
+							{{ certif.uid }}
 							<BadgeDanger
-								:limitDate="getNeighbor(certif).received_certifications.limit"
-								:memberStatus="getNeighbor(certif).status" />
+								:limitDate="certif.received_certifications.limit"
+								:memberStatus="certif.status" />
 							<BadgeQuality
-								:quality="getNeighbor(certif).quality.ratio"
-								v-if="getNeighbor(certif).status != 'REVOKED'" />
+								:quality="certif.quality.ratio"
+								v-if="certif.status != 'REVOKED'" />
 						</div>
 						<div>
-							<BadgeStatus :membre="getNeighbor(certif)" />
+							<BadgeStatus :membre="certif" />
 							<BadgeDispo
-								:isDispo="getNeighbor(certif).minDatePassed"
-								:dateDispo="getNeighbor(certif).minDate"
-								v-if="getNeighbor(certif).status == 'MEMBER'" />
+								:isDispo="certif.minDatePassed"
+								:dateDispo="certif.minDate"
+								v-if="certif.status == 'MEMBER'" />
 						</div>
 					</th>
 					<td class="text-right py-1">
@@ -105,32 +105,32 @@
 			<tbody>
 				<tr
 					v-for="certif in certifsTriees"
-					:key="getNeighbor(certif).uid + certif.expires_on"
+					:key="certif.uid + certif.expires_on"
 					@click="
 						$router.push(
 							localePath({
 								name: 'membres-hash',
-								params: { hash: getNeighbor(certif).hash }
+								params: { hash: certif.hash }
 							})
 						)
 					">
 					<th scope="row" class="py-1">
 						<div>
-							<span v-if="$isFavourite(getNeighbor(certif).uid)">★&nbsp;</span>
-							{{ getNeighbor(certif).uid }}
+							<span v-if="$isFavourite(certif.uid)">★&nbsp;</span>
+							{{ certif.uid }}
 							<BadgeDanger
-								:limitDate="getNeighbor(certif).received_certifications.limit"
-								:memberStatus="getNeighbor(certif).status" />
+								:limitDate="certif.received_certifications.limit"
+								:memberStatus="certif.status" />
 							<BadgeQuality
-								:quality="getNeighbor(certif).quality.ratio"
-								v-if="getNeighbor(certif).status != 'REVOKED'" />
+								:quality="certif.quality.ratio"
+								v-if="certif.status != 'REVOKED'" />
 						</div>
 						<div>
-							<BadgeStatus :membre="getNeighbor(certif)" />
+							<BadgeStatus :membre="certif" />
 							<BadgeDispo
-								:isDispo="getNeighbor(certif).minDatePassed"
-								:dateDispo="getNeighbor(certif).minDate"
-								v-if="getNeighbor(certif).status == 'MEMBER'" />
+								:isDispo="certif.minDatePassed"
+								:dateDispo="certif.minDate"
+								v-if="certif.status == 'MEMBER'" />
 						</div>
 					</th>
 					<td class="text-right py-1">
@@ -170,9 +170,6 @@ export default {
 		}
 	},
 	methods: {
-		getNeighbor(certif) {
-			return this.type == "received" ? certif.from : certif.to
-		},
 		sort(s) {
 			if (s === this.currentSort) {
 				this.currentSortDir = this.currentSortDir === "asc" ? "desc" : "asc"
@@ -183,7 +180,6 @@ export default {
 	computed: {
 		certifsTriees() {
 			return this.certifs
-				.slice()
 				.sort((a, b) => {
 					let modifier = this.currentSortDir === "desc" ? -1 : 1
 					let sens = this.type == "received" ? "from" : "to"
@@ -200,17 +196,20 @@ export default {
 
 					return 0
 				})
-				.filter((el) => {
-					return el.pending == false
-				})
+				.filter((el) => el.pending == false)
+				.map(certif => ({
+					...certif,
+					...(this.type === 'received' ? certif.from : certif.to)
+				}))
 		},
 		certifsPending() {
 			return this.certifs
-				.slice()
 				.sort((a, b) => a.expires_on - b.expires_on)
-				.filter((el) => {
-					return el.pending == true
-				})
+				.filter((el) => el.pending == true)
+				.map(certif => ({
+					...certif,
+					...(this.type === 'received' ? certif.from : certif.to)
+				}))
 		}
 	}
 }
-- 
GitLab