Skip to content
Snippets Groups Projects
Commit 60234b64 authored by Pierre-Jean CHANCELLIER's avatar Pierre-Jean CHANCELLIER
Browse files

prettier configuration

parent 3dd357f8
Branches
Tags
No related merge requests found
Showing
with 751 additions and 656 deletions
<template> <template>
<transition name="fade"> <transition name="fade">
<div class="loader overflow-hidden text-center position-absolute" v-if="isLoading"> <div
<img src="~@/assets/img/loader.gif"> class="loader overflow-hidden text-center position-absolute"
<div class="text-center font-weight-bold my-3">{{ $t('chargement') }}...</div> v-if="isLoading">
<img src="~@/assets/img/loader.gif" />
<div class="text-center font-weight-bold my-3">
{{ $t("chargement") }}...
</div>
</div> </div>
</transition> </transition>
</template> </template>
......
<template> <template>
<div class="mb-4"> <div class="mb-4">
<h2 class="small text-muted text-uppercase ml-4 mb-2 pb-3 border-bottom">{{ $t(menu.title) }}</h2> <h2 class="small text-muted text-uppercase ml-4 mb-2 pb-3 border-bottom">
{{ $t(menu.title) }}
</h2>
<div class="nav navbar-nav list-group list-group-flush"> <div class="nav navbar-nav list-group list-group-flush">
<NuxtLink class="list-group-item list-group-item-action p-0 pl-3" :to="localePath(item.path)" v-for="item in menu.items" :key="item.path"> <NuxtLink
class="list-group-item list-group-item-action p-0 pl-3"
:to="localePath(item.path)"
v-for="item in menu.items"
:key="item.path">
<div class="position-relative py-3">{{ $t(item.title) }}</div> <div class="position-relative py-3">{{ $t(item.title) }}</div>
</NuxtLink> </NuxtLink>
</div> </div>
......
...@@ -2,25 +2,41 @@ ...@@ -2,25 +2,41 @@
<aside class="menu shadow position-fixed"> <aside class="menu shadow position-fixed">
<div class="nav_header pb-3 mb-4"> <div class="nav_header pb-3 mb-4">
<nuxt-link :to="localePath('/')" class="d-flex"> <nuxt-link :to="localePath('/')" class="d-flex">
<img src="@/assets/img/logo.png" alt="Accueil" class="logo"> <img src="@/assets/img/logo.png" alt="Accueil" class="logo" />
<div><h1 class="h2">Wotwizard</h1><small class="text-muted">{{ $t('slogan') }}</small></div> <div>
<h1 class="h2">Wotwizard</h1>
<small class="text-muted">{{ $t("slogan") }}</small>
</div>
</nuxt-link> </nuxt-link>
<div class="d-flex text-info justify-content-between align-items-baseline mt-3 mx-2"> <div
class="d-flex text-info justify-content-between align-items-baseline mt-3 mx-2">
<div class="">v0.02</div> <div class="">v0.02</div>
<div class="small" v-if="countMax">Bloc n°<span class="font-weight-bold">{{ countMax.number }}</span> ({{ $d(new Date(countMax.utc0*1000), 'short') }} {{ $t('time.a') }} {{ $d(new Date(countMax.utc0*1000), 'time') }})</div> <div class="small" v-if="countMax">
Bloc n°<span class="font-weight-bold">{{ countMax.number }}</span> ({{
$d(new Date(countMax.utc0 * 1000), "short")
}}
{{ $t("time.a") }} {{ $d(new Date(countMax.utc0 * 1000), "time") }})
</div>
</div> </div>
<button type="button" class="close position-absolute d-xl-none" aria-label="Close" @click="toggleMenu"> <button
type="button"
class="close position-absolute d-xl-none"
aria-label="Close"
@click="toggleMenu">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
<nav> <nav>
<NavigationMenuGroup v-for="menu in menus" :key="menu.title" :menu="menu"/> <NavigationMenuGroup
v-for="menu in menus"
:key="menu.title"
:menu="menu" />
</nav> </nav>
</aside> </aside>
</template> </template>
<script> <script>
import {LAST_BLOCK} from '@/graphql/queries.js' import { LAST_BLOCK } from "@/graphql/queries.js"
export default { export default {
props: { props: {
...@@ -28,14 +44,16 @@ export default { ...@@ -28,14 +44,16 @@ export default {
}, },
methods: { methods: {
toggleMenu() { toggleMenu() {
this.$emit('toggleMenu') this.$emit("toggleMenu")
} }
}, },
apollo: { apollo: {
countMax: { countMax: {
query: LAST_BLOCK, query: LAST_BLOCK,
error (err) {this.error = err.message} error(err) {
this.error = err.message
}
}
} }
},
} }
</script> </script>
{"__schema":{"types":[{"kind":"UNION","name":"CertifOrDossier","possibleTypes":[{"name":"MarkedDatedCertification"},{"name":"MarkedDossier"}]},{"kind":"INTERFACE","name":"File","possibleTypes":[{"name":"FileS"}]},{"kind":"INTERFACE","name":"WWResult","possibleTypes":[{"name":"WWResultS"}]}]}} {
\ No newline at end of file "__schema": {
"types": [
{
"kind": "UNION",
"name": "CertifOrDossier",
"possibleTypes": [
{ "name": "MarkedDatedCertification" },
{ "name": "MarkedDossier" }
]
},
{
"kind": "INTERFACE",
"name": "File",
"possibleTypes": [{ "name": "FileS" }]
},
{
"kind": "INTERFACE",
"name": "WWResult",
"possibleTypes": [{ "name": "WWResultS" }]
}
]
}
}
...@@ -13,28 +13,24 @@ export default { ...@@ -13,28 +13,24 @@ export default {
// Les title correspondent aux chaînes de traduction dans /i18n/locales // Les title correspondent aux chaînes de traduction dans /i18n/locales
menus: [ menus: [
{ {
title: 'wot', title: "wot",
items : [ items: [{ path: "/membres", title: "membres" }]
{path: '/membres',title: 'membres'}
]
}, },
{ {
title: 'previsions.title', title: "previsions.title",
items: [ items: [
{path: '/previsions/futurs_membres',title: 'futuremembers'} { path: "/previsions/futurs_membres", title: "futuremembers" }
] ]
}, },
{ {
title: 'infos', title: "infos",
items : [ items: [{ path: "/parametres", title: "params.title" }]
{path: '/parametres',title: 'params.title'}
]
} }
] ]
} }
}, },
created() { created() {
this.$nuxt.$on('changeRoute', (breadcrumb) => { this.$nuxt.$on("changeRoute", (breadcrumb) => {
this.breadcrumb = breadcrumb this.breadcrumb = breadcrumb
}) })
} }
...@@ -61,7 +57,7 @@ export default { ...@@ -61,7 +57,7 @@ export default {
} }
.app { .app {
transition: margin .5s ease-in-out; transition: margin 0.5s ease-in-out;
} }
main { main {
padding-top: 10rem; padding-top: 10rem;
...@@ -72,11 +68,13 @@ main { ...@@ -72,11 +68,13 @@ main {
} }
} }
.fade-enter-active, .fade-leave-active { .fade-enter-active,
transition: opacity .5s; .fade-leave-active {
transition: opacity 0.5s;
} }
.fade-enter, .fade-leave-to { .fade-enter,
.fade-leave-to {
opacity: 0; opacity: 0;
} }
</style> </style>
<template> <template>
<main class="content"> <main class="content">
<h2 v-if="error.statusCode === 404" class="display-2 text-center mb-5">Page not found</h2> <h2 v-if="error.statusCode === 404" class="display-2 text-center mb-5">
<h2 v-else class="display-2 text-center mb-5">An error occurred - {{ error.statusCode }} </h2> Page not found
</h2>
<h2 v-else class="display-2 text-center mb-5">
An error occurred - {{ error.statusCode }}
</h2>
<NuxtLink to="/" class="d-block text-center">Retour à l'accueil</NuxtLink> <NuxtLink to="/" class="d-block text-center">Retour à l'accueil</NuxtLink>
</main> </main>
</template> </template>
...@@ -12,22 +16,22 @@ export default { ...@@ -12,22 +16,22 @@ export default {
return { return {
breadcrumb: [ breadcrumb: [
{ {
text: 'Erreur ', text: "Erreur ",
active: true active: true
} }
] ]
} }
}, },
mounted() { mounted() {
$nuxt.$emit('changeRoute',this.breadcrumb) $nuxt.$emit("changeRoute", this.breadcrumb)
}, },
props: ['error'], props: ["error"],
layout: 'error' layout: "error"
} }
</script> </script>
<style lang="scss"> <style lang="scss">
.app { .app {
transition: margin .5s ease-in-out; transition: margin 0.5s ease-in-out;
} }
</style> </style>
...@@ -11,7 +11,11 @@ ...@@ -11,7 +11,11 @@
<option v-for="type in allTypes" :key="type">{{ type }}</option> <option v-for="type in allTypes" :key="type">{{ type }}</option>
</select> </select>
<button @click="fillData" class="btn btn-primary mb-5">Randomize</button> <button @click="fillData" class="btn btn-primary mb-5">Randomize</button>
<LazyGraph id="monGraph" :type="chartType" :data="data" :options="options" /> <LazyGraph
id="monGraph"
:type="chartType"
:data="data"
:options="options" />
</div> </div>
</main> </main>
</template> </template>
...@@ -31,11 +35,11 @@ export default { ...@@ -31,11 +35,11 @@ export default {
data: {}, data: {},
breadcrumb: [ breadcrumb: [
{ {
text: this.$t('accueil'), text: this.$t("accueil"),
to: "/" to: "/"
}, },
{ {
text: 'ChartJS', text: "ChartJS",
active: true active: true
} }
] ]
...@@ -44,8 +48,18 @@ export default { ...@@ -44,8 +48,18 @@ export default {
methods: { methods: {
fillData() { fillData() {
this.data = { this.data = {
labels: ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"], labels: [
datasets: [{ "Mercury",
"Venus",
"Earth",
"Mars",
"Jupiter",
"Saturn",
"Uranus",
"Neptune"
],
datasets: [
{
label: "Number of Moons", label: "Number of Moons",
data: this.generateArray(8), data: this.generateArray(8),
backgroundColor: this.generateColor(), backgroundColor: this.generateColor(),
...@@ -58,11 +72,20 @@ export default { ...@@ -58,11 +72,20 @@ export default {
backgroundColor: this.generateColor(), backgroundColor: this.generateColor(),
borderColor: this.generateColor(), borderColor: this.generateColor(),
borderWidth: 2 borderWidth: 2
}] }
]
} }
}, },
generateColor() { generateColor() {
return "rgba(" + this.getRandomInt(255) + "," + this.getRandomInt(255) + "," + this.getRandomInt(255) + ",.5)" return (
"rgba(" +
this.getRandomInt(255) +
"," +
this.getRandomInt(255) +
"," +
this.getRandomInt(255) +
",.5)"
)
}, },
generateArray(nb_items) { generateArray(nb_items) {
let ret = [] let ret = []
...@@ -77,13 +100,13 @@ export default { ...@@ -77,13 +100,13 @@ export default {
}, },
nuxtI18n: { nuxtI18n: {
paths: { paths: {
fr: '/graphiques', fr: "/graphiques",
en: '/graphics', en: "/graphics",
es: '/graficos' es: "/graficos"
} }
}, },
mounted() { mounted() {
$nuxt.$emit('changeRoute',this.breadcrumb) $nuxt.$emit("changeRoute", this.breadcrumb)
// On remplit les données dans le graph // On remplit les données dans le graph
this.fillData() this.fillData()
} }
......
<template> <template>
<main class="container"> <main class="container">
<h2 class="text-center mb-5 font-weight-light">{{ $t('inout') }}</h2> <h2 class="text-center mb-5 font-weight-light">{{ $t("inout") }}</h2>
<NavigationLoader :isLoading="$apollo.queries.newMembers.loading" /> <NavigationLoader :isLoading="$apollo.queries.newMembers.loading" />
<transition name="fade"> <transition name="fade">
<div class="alert alert-danger" v-if="error">{{ error }}</div> <div class="alert alert-danger" v-if="error">{{ error }}</div>
...@@ -9,16 +9,25 @@ ...@@ -9,16 +9,25 @@
<div class="result" v-if="newMembers"> <div class="result" v-if="newMembers">
<div class="row text-center"> <div class="row text-center">
<div class="col-md-6 col-lg-4"> <div class="col-md-6 col-lg-4">
<h2 class="h4 text-success">{{ $t('bienvenue') }}</h2> <h2 class="h4 text-success">{{ $t("bienvenue") }}</h2>
<MemberList :members="newMembers['entrees']" :displayPubkey="false" :displayHead="false" /> <MemberList
:members="newMembers['entrees']"
:displayPubkey="false"
:displayHead="false" />
</div> </div>
<div class="col-md-6 col-lg-4"> <div class="col-md-6 col-lg-4">
<h2 class="h4 text-danger">{{ $t('aurevoir') }}</h2> <h2 class="h4 text-danger">{{ $t("aurevoir") }}</h2>
<MemberList :members="newMembers['sorties']" :displayPubkey="false" :displayHead="false" /> <MemberList
:members="newMembers['sorties']"
:displayPubkey="false"
:displayHead="false" />
</div> </div>
<div class="col-lg-4"> <div class="col-lg-4">
<h2 class="h4 text-info">{{ $t('revoila') }}</h2> <h2 class="h4 text-info">{{ $t("revoila") }}</h2>
<MemberList :members="newMembers['renew']" :displayPubkey="false" :displayHead="false" /> <MemberList
:members="newMembers['renew']"
:displayPubkey="false"
:displayHead="false" />
</div> </div>
</div> </div>
</div> </div>
...@@ -27,7 +36,7 @@ ...@@ -27,7 +36,7 @@
</template> </template>
<script> <script>
import {LAST_EVENTS} from '@/graphql/queries.js' import { LAST_EVENTS } from "@/graphql/queries.js"
const today = Math.round(Date.now() / 1000) const today = Math.round(Date.now() / 1000)
...@@ -36,8 +45,8 @@ export default { ...@@ -36,8 +45,8 @@ export default {
return { return {
breadcrumb: [ breadcrumb: [
{ {
text: this.$t('accueil'), text: this.$t("accueil"),
to: '/' to: "/"
} }
], ],
error: null error: null
...@@ -45,7 +54,11 @@ export default { ...@@ -45,7 +54,11 @@ export default {
}, },
methods: { methods: {
addValue(arr, val) { addValue(arr, val) {
if (arr.filter(function(e) { return e.uid === val.uid }).length == 0) { if (
arr.filter(function (e) {
return e.uid === val.uid
}).length == 0
) {
arr.push(val) arr.push(val)
} }
return arr return arr
...@@ -54,9 +67,11 @@ export default { ...@@ -54,9 +67,11 @@ export default {
apollo: { apollo: {
newMembers: { newMembers: {
query: LAST_EVENTS, query: LAST_EVENTS,
variables() {return {start:today-86400*2,end:today}}, variables() {
return { start: today - 86400 * 2, end: today }
},
update(data) { update(data) {
let result = {'entrees':[],'sorties':[],'renew':[]} let result = { entrees: [], sorties: [], renew: [] }
let users = [] let users = []
for (let i = 0; i < data.membersCount.length; i++) { for (let i = 0; i < data.membersCount.length; i++) {
...@@ -66,11 +81,11 @@ export default { ...@@ -66,11 +81,11 @@ export default {
if (!users.includes(member.member.uid)) { if (!users.includes(member.member.uid)) {
if (member.member.history.length == 1) { if (member.member.history.length == 1) {
this.addValue(result['entrees'],member.member) this.addValue(result["entrees"], member.member)
} else if (member.inOut) { } else if (member.inOut) {
this.addValue(result['renew'],member.member) this.addValue(result["renew"], member.member)
} else { } else {
this.addValue(result['sorties'],member.member) this.addValue(result["sorties"], member.member)
} }
} }
...@@ -79,16 +94,20 @@ export default { ...@@ -79,16 +94,20 @@ export default {
} }
for (let list in result) { for (let list in result) {
result[list].sort((a, b) => (a.uid.toLowerCase() > b.uid.toLowerCase()) ? 1 : -1) result[list].sort((a, b) =>
a.uid.toLowerCase() > b.uid.toLowerCase() ? 1 : -1
)
} }
return result return result
}, },
error (err) {this.error = err.message} error(err) {
this.error = err.message
}
} }
}, },
mounted() { mounted() {
$nuxt.$emit('changeRoute',this.breadcrumb) $nuxt.$emit("changeRoute", this.breadcrumb)
} }
} }
</script> </script>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment