diff --git a/components/badge/Danger.vue b/components/badge/Danger.vue index acbfc02efa6a841b64b3fbbed6da4f76c06f9a4c..51f27d8740225ccb2d33521e4b5fcf6412ed919f 100644 --- a/components/badge/Danger.vue +++ b/components/badge/Danger.vue @@ -3,8 +3,8 @@ class="d-inline-block help flex-shrink-0" :class="classBadge" :title="title" - v-if="!['NEWCOMER', 'REVOKED'].includes(memberStatus)" - ><solid-shield-check-icon + v-if="!['NEWCOMER', 'REVOKED'].includes(memberStatus)"> + <solid-shield-check-icon v-if="$options.filters.dateStatus(limitDate) == 'success'" /> <solid-shield-exclamation-icon v-else /> <span class="visually-hidden">{{ title }}</span> diff --git a/components/member/Filter.vue b/components/member/Filter.vue index cc300f83121f2c3f5e91378780d134c22684b066..107dbf5d2d568d049844858692713057131839c3 100644 --- a/components/member/Filter.vue +++ b/components/member/Filter.vue @@ -73,7 +73,6 @@ class="btn-check" v-model="certifStatus" type="radio" - :name="'certifStatus-' + _uid" :id="'radio-current-' + _uid" value="current" autocomplete="off" /> @@ -86,7 +85,6 @@ class="btn-check" v-model="certifStatus" type="radio" - :name="'certifStatus-' + _uid" :id="'radio-outdated-' + _uid" value="outdated" autocomplete="off" /> @@ -103,19 +101,11 @@ export default { data() { return { - checkedStatus: this.selectedStatus, - certifStatus: this.selectedCertifStatus + checkedStatus: ["NEWCOMER", "MEMBER", "RENEW", "MISSING", ""], + certifStatus: "current" } }, props: { - selectedStatus: { - type: Array, - required: true - }, - selectedCertifStatus: { - type: String, - required: true - }, type: { type: String, default: "" @@ -128,6 +118,10 @@ export default { }, 5) } }, + mounted() { + this.$emit("update:selectedStatus", this.checkedStatus) + this.$emit("update:selectedCertifStatus", this.certifStatus) + }, watch: { checkedStatus(n, o) { this.$emit("update:selectedStatus", n) diff --git a/components/suivis/Tableau.vue b/components/suivis/Tableau.vue index fddb63f5186cefb22c7f490f462ac1ac184f62ad..63121288fc0278a8386de150701a70ad55d7c652 100644 --- a/components/suivis/Tableau.vue +++ b/components/suivis/Tableau.vue @@ -15,6 +15,16 @@ defaultSort="date_membership" :members="filteredMembers" :id="type" /> + <input + type="checkbox" + class="btn-check" + :id="'seeAll' + _uid" + :checked="displayAll" + @click="displayAll = !displayAll" /> + <label class="btn mb-3 btn-outline-secondary" :for="'seeAll' + _uid"> + <span v-if="!displayAll">{{ $t("suivis.display.all") }}</span> + <span v-else>{{ $t("suivis.display.out") }}</span> + </label> <button class="btn btn-danger d-block m-auto mb-3" v-if="type == 'favoris'" @@ -36,8 +46,9 @@ export default { data() { return { search: "", - filterStatus: ["NEWCOMER", "MEMBER", "RENEW", "MISSING", ""], - filterCerts: "current", + filterStatus: [], + filterCerts: "", + displayAll: false, nbItems: 0 } }, @@ -55,6 +66,11 @@ export default { filteredMembers() { return this.members.filter( (el) => + (this.displayAll || + !( + el.status == "MEMBER" && + this.$options.filters.dateStatus(el.certsLimit) == "success" + )) && el.uid.toLowerCase().includes(this.search.toLowerCase()) && this.filterStatus.includes(el.status) && el.expired == (this.filterCerts == "outdated") @@ -75,6 +91,9 @@ export default { watch: { filteredMembers(n, o) { this.$emit("update:nbItems", n.length) + }, + filterCerts(n, o) { + this.displayAll = n == "outdated" } } } diff --git a/i18n/locales/de.json b/i18n/locales/de.json index e7a1986a134644680d422316fd5e03a1da58b50e..540602e639d2fde8a8c5bdfed3cf2d18f658a360 100644 --- a/i18n/locales/de.json +++ b/i18n/locales/de.json @@ -255,6 +255,10 @@ "title": "Sie sind noch nicht registriert" }, "confirm": "Sind Sie sicher ?", + "display": { + "all": "Alles sehen", + "out": "Nur zukünftige Versionen anzeigen" + }, "enregistre": "In den Favoriten gespeichert!", "enregistre_uid": "Schützen", "iam": "Ich bin dieses Mitglied", diff --git a/i18n/locales/en.json b/i18n/locales/en.json index a0e34b6801af8fc7487b8ec0f78781e64c3e71da..9d2aa92d2756d54fe54afda16fd5fdab600d4ebc 100644 --- a/i18n/locales/en.json +++ b/i18n/locales/en.json @@ -256,6 +256,10 @@ "title": "You're not registered yet" }, "confirm": "Are you sure ?", + "display": { + "all": "See all", + "out": "See only futures exits" + }, "enregistre": "Saved to favorites !", "enregistre_uid": "Save", "iam": "I am that member", diff --git a/i18n/locales/es.json b/i18n/locales/es.json index b41228f13020b5c5fb2ed24a66c7a515e6cce719..1f0c3fda8f798cf562f921bad5a554fd48edde35 100644 --- a/i18n/locales/es.json +++ b/i18n/locales/es.json @@ -256,6 +256,10 @@ "title": "Aún no estás registrado" }, "confirm": "Está usted seguro ?", + "display": { + "all": "Ver todo", + "out": "Ver solo futuras salidas" + }, "enregistre": "¡Guardado en favoritos!", "enregistre_uid": "Salvaguardar", "iam": "Soy este miembro", diff --git a/i18n/locales/fr.json b/i18n/locales/fr.json index 93ce14633369bc05333cb6de9dbc2f6e7ba8646e..ab514c8b99ae20ae1de55a0205396efcf67eb180 100644 --- a/i18n/locales/fr.json +++ b/i18n/locales/fr.json @@ -256,6 +256,10 @@ "title": "Vous n'êtes pas encore enregistré" }, "confirm": "Êtes-vous sûr ?", + "display": { + "all": "Voir tout", + "out": "Voir uniquement les futures sorties" + }, "enregistre": "Enregistré dans les favoris !", "enregistre_uid": "Sauvegarder", "iam": "Je suis ce membre", diff --git a/i18n/locales/it.json b/i18n/locales/it.json index d95bea310685400bd8f26c29c8cb24c32260f691..992ba43b80da482b37b34543fa801cce72fe3359 100644 --- a/i18n/locales/it.json +++ b/i18n/locales/it.json @@ -256,6 +256,10 @@ "title": "Non sei ancora registrato" }, "confirm": "Sei sicuro ?", + "display": { + "all": "Vedi tutto", + "out": "Vedi solo le future uscite" + }, "enregistre": "Salvato nei favoriti!", "enregistre_uid": "Salvaguardare", "iam": "Sono questo membro", diff --git a/pages/previsions/futures_sorties.vue b/pages/previsions/futures_sorties.vue index 555c2b74847e58c8c7f66fc90803106c4efe9369..01a893c8c9a465e1918128a060a2ee3cb6bae5ef 100644 --- a/pages/previsions/futures_sorties.vue +++ b/pages/previsions/futures_sorties.vue @@ -5,18 +5,6 @@ $t("previsions.futureexits") }} </h2> - <div class="form-check form-switch mb-4 d-flex justify-content-center"> - <input - type="checkbox" - id="favoris" - class="form-check-input me-2" - role="switch" - v-model="favoris" - @change="save()" /> - <label for="favoris" class="form-check-label">{{ - $t("suivis.use") - }}</label> - </div> <NavigationLoader :isLoading="$apollo.loading" /> <transition name="fade"> <AlertDefault type="danger" v-if="error">{{ error }}</AlertDefault> @@ -68,25 +56,14 @@ export default { } ], error: null, - favoris: false, period: 1317600 } }, computed: { getParams() { - if (this.favoris) { - return localStorage.favourites - ? { group: this.$favourites.list, period: this.period } - : { group: "wotwizard-nobody", period: this.period } - } return { period: this.period } } }, - methods: { - save() { - localStorage.exitsFiltered = this.favoris - } - }, apollo: { $client() { return this.getApolloClient @@ -155,7 +132,6 @@ export default { }, mounted() { $nuxt.$emit("changeRoute", this.breadcrumb) - this.favoris = localStorage.exitsFiltered == "true" } } </script>