diff --git a/pages/appolo.vue b/pages/appolo.vue index 9534389a44926df729673bd6b7c3a3b83074a0e2..cd778e48768d9087515b2d8697aba91a699307ce 100644 --- a/pages/appolo.vue +++ b/pages/appolo.vue @@ -32,7 +32,7 @@ 'table-warning' : member.status == 'MISSING', }"> <th scope="row">{{ member.uid }}</th> - <td class="d-none d-xl-table-cell">{{ member.pubkey }}</td> + <td class="d-none d-xl-table-cell"><a :href="'hash/' + member.hash">{{ member.pubkey }}</a></td> <td class="d-none d-sm-table-cell">{{ member.status }}</td> </tr> </tbody> @@ -63,7 +63,7 @@ export default { ], // Requête graphQL query: gql`{version}`, - param: '4Fge' + param: '4Fge', } }, // Fonctions locales @@ -78,6 +78,7 @@ export default { pubkey uid status + hash } } } `, diff --git a/pages/hash/:hash.vue b/pages/hash/:hash.vue new file mode 100644 index 0000000000000000000000000000000000000000..c40847669df59ddb8cf64ace623468d72c4e5908 --- /dev/null +++ b/pages/hash/:hash.vue @@ -0,0 +1,171 @@ +<template> + <main class="content"> + <div + class="spinner-border text-primary mx-auto d-block mb-3" + role="status" + v-if="$apollo.queries.idFromHash.loading" + > + <span class="sr-only">Loading...</span> + </div> + <div v-if="!$apollo.queries.idFromHash.loading"> + <h2 class="display-2 text-center mb-5">{{ idFromHash.uid }}</h2> + <div class="row"> + <div class="col-8 m-auto"> + <div class="table-responsive"> + <table class="table striped"> + <tr> + <td>uid</td> + <td>{{ idFromHash.uid }}</td> + </tr> + <tr> + <td>pubkey</td> + <td>{{ idFromHash.pubkey }}</td> + </tr> + <tr> + <td>status</td> + <td>{{ idFromHash.status }}</td> + </tr> + <tr> + <td>membership_pending</td> + <td>{{ idFromHash.membership_pending }}</td> + </tr> + <tr> + <td>membership_pending_block</td> + <td>{{ idFromHash.membership_pending_block }}</td> + </tr> + <tr> + <td>membership_pending_limitDate</td> + <td>{{ idFromHash.membership_pending_limitDate }}</td> + </tr> + <tr> + <td>id_written_block</td> + <td>{{ idFromHash.id_written_block.number }}</td> + </tr> + <tr> + <td>lastApplication</td> + <td>{{ idFromHash.lastApplication.number }}</td> + </tr> + <tr> + <td>limitDate</td> + <td>{{ idFromHash.limitDate }}</td> + </tr> + <tr> + <td>isLeaving</td> + <td>{{ idFromHash.isLeaving }}</td> + </tr> + <tr> + <td>sentry</td> + <td>{{ idFromHash.sentry }}</td> + </tr> + <tr> + <td>received_certifications</td> + <td>{{ idFromHash.received_certifications.limit }}</td> + </tr> + <tr> + <td>distance</td> + <td>{{ idFromHash.distance.value.ratio }}</td> + </tr> + <tr> + <td>distanceE</td> + <td>{{ idFromHash.distanceE.value.ratio }}</td> + </tr> + <tr> + <td>quality</td> + <td>{{ idFromHash.quality.ratio }}</td> + </tr> + <tr> + <td>qualityE</td> + <td>{{ idFromHash.qualityE.ratio }}</td> + </tr> + <tr> + <td>minDate</td> + <td>{{ idFromHash.minDate }}</td> + </tr> + <tr> + <td>minDatePassed</td> + <td>{{ idFromHash.minDatePassed }}</td> + </tr> + </table> + </div> + </div> + </div> + </div> + </main> +</template> + + +<script> +import gql from "graphql-tag"; + +export default { + data() { + // Variables locales + return {}; + }, + // Fonctions locales + methods: {}, + apollo: { + idFromHash: { + query: gql` + query Search($hash: Hash!) { + idFromHash(hash: $hash) { + pubkey + uid + status + hash + membership_pending + membership_pending_block { + number + } + membership_pending_limitDate + id_written_block { + number + } + lastApplication { + number + } + limitDate + isLeaving + sentry + received_certifications { + limit + } + distance { + value { + ratio + } + } + distanceE { + value { + ratio + } + } + quality { + ratio + } + qualityE { + ratio + } + minDate + minDatePassed + } + } + `, + variables() { + return { hash: this.$route.params.hash }; + }, + skip() { + return false; + }, + }, + }, + mounted() { + // Mise à jour du fil d'ariane au chargement + $nuxt.$emit("changeRoute", this.breadcrumb); + }, +}; +</script> + +<style lang="sass" scoped> +// CSS Lié au composant +</style> \ No newline at end of file