From f7e9d7ea879637e68711847cc3b88594a7a2cf72 Mon Sep 17 00:00:00 2001 From: Pierre-Jean CHANCELLIER <paidge_cs@hotmail.com> Date: Tue, 14 Dec 2021 01:36:24 +0100 Subject: [PATCH] reorganisation du code --- .../{navigation.vue => navigation/Bar.vue} | 23 +++++++------------ .../Breadcrumb.vue} | 0 .../{ssMenu.vue => navigation/menu/Group.vue} | 0 .../menu/Sidebar.vue} | 18 ++++++--------- layouts/default.vue | 2 +- mixins/wotwizard.js | 7 +----- pages/explore.vue | 4 ++-- 7 files changed, 19 insertions(+), 35 deletions(-) rename components/{navigation.vue => navigation/Bar.vue} (85%) rename components/{breadcrumb.vue => navigation/Breadcrumb.vue} (100%) rename components/{ssMenu.vue => navigation/menu/Group.vue} (100%) rename components/{navmenu.vue => navigation/menu/Sidebar.vue} (72%) diff --git a/components/navigation.vue b/components/navigation/Bar.vue similarity index 85% rename from components/navigation.vue rename to components/navigation/Bar.vue index aa3b744..ce25c4e 100644 --- a/components/navigation.vue +++ b/components/navigation/Bar.vue @@ -1,23 +1,16 @@ <template> -<header> - <div class="position-relative"> - <button class="toggle btn border-secondary position-absolute p-1 m-3" @click="toggleMenu"><span></span></button> - <breadcrumb :breadcrumb="breadcrumb" class="ml-5 py-3 px-4" /> - </div> - <navmenu @toggleMenu="toggleMenu" /> - <div class="bg_overlay" @click="toggleMenu"></div> -</header> + <header> + <div class="position-relative"> + <button class="toggle btn border-secondary position-absolute p-1 m-3" @click="toggleMenu"><span></span></button> + <NavigationBreadcrumb :breadcrumb="breadcrumb" class="ml-5 py-3 px-4" /> + </div> + <NavigationMenuSidebar @toggleMenu="toggleMenu" /> + <div class="bg_overlay" @click="toggleMenu"></div> + </header> </template> <script> -import breadcrumb from './breadcrumb.vue' -import navmenu from './navmenu.vue' - export default { - components: { - breadcrumb, - navmenu - }, methods: { toggleMenu() { document.querySelector('.app').classList.toggle('open') diff --git a/components/breadcrumb.vue b/components/navigation/Breadcrumb.vue similarity index 100% rename from components/breadcrumb.vue rename to components/navigation/Breadcrumb.vue diff --git a/components/ssMenu.vue b/components/navigation/menu/Group.vue similarity index 100% rename from components/ssMenu.vue rename to components/navigation/menu/Group.vue diff --git a/components/navmenu.vue b/components/navigation/menu/Sidebar.vue similarity index 72% rename from components/navmenu.vue rename to components/navigation/menu/Sidebar.vue index 220e955..23fd3da 100644 --- a/components/navmenu.vue +++ b/components/navigation/menu/Sidebar.vue @@ -7,35 +7,31 @@ </button> </div> <nav class="navbar-light"> - <ssMenu v-for="menu in menus" :key="menu.title" :menu="menu"/> + <NavigationMenuGroup v-for="menu in menus" :key="menu.title" :menu="menu"/> </nav> </aside> </template> <script> -import ssMenu from './ssMenu.vue' - export default { data() { return { menus : [ - {title: 'Développement', + { + title: 'Développement', items : [ {path: '/explore',title: 'Explorer la toile de confiance'}, {path: '/appolo',title: 'Appolo'} ]}, - {title: 'Pages', + { + title: 'Un menu', items : [ - {path: '/hoho',title: 'Hoho'}, - {path: '/hihi',title: 'Hihi'}, - {path: '/haha',title: 'Haha'} + {path: '/lien',title: 'Un lien'}, + {path: '/autrelien',title: 'Un aure lien'} ]} ] } }, - components: { - ssMenu - }, methods: { toggleMenu() { this.$emit('toggleMenu') diff --git a/layouts/default.vue b/layouts/default.vue index a7542bb..d6bb1e1 100644 --- a/layouts/default.vue +++ b/layouts/default.vue @@ -1,6 +1,6 @@ <template> <div class="app"> - <Navigation :breadcrumb="breadcrumb" /> + <NavigationBar :breadcrumb="breadcrumb" /> <Nuxt /> </div> </template> diff --git a/mixins/wotwizard.js b/mixins/wotwizard.js index e07e3b2..09d6e1c 100644 --- a/mixins/wotwizard.js +++ b/mixins/wotwizard.js @@ -4,8 +4,7 @@ export default { WWZ_URL : "https://wwgql.coinduf.eu", WWZ_REQUEST_VERSION : "{version}", query: "", - retour : null, - isWaiting: false + retour : null } }, methods: { @@ -13,8 +12,6 @@ export default { WWZ_REQUEST_DETAILS(hint) { return `{idSearch(with:{hint:\\"${hint}\\"}){ids{pubkey,uid,status}}}` }, }, async fetch() { - this.isWaiting = true - this.retour = await fetch(this.WWZ_URL, { method: 'POST', headers: { @@ -22,10 +19,8 @@ export default { }, body: '{"query":"' + this.query + '"}' }).then((res) => { - this.isWaiting = false return res.json() }).catch((error) => { - this.isWaiting = false return {errors: error} }) }, diff --git a/pages/explore.vue b/pages/explore.vue index a7d9a08..96a99c2 100644 --- a/pages/explore.vue +++ b/pages/explore.vue @@ -9,11 +9,11 @@ <input type="text" class="form-control" id="rech" aria-describedby="rechHelp" v-model="search"> <small id="rechHelp" class="form-text text-muted">Saisissez le début d'un pseudo ou d'une clé publique</small> </div> - <btnloading :isWaiting="isWaiting"/> + <btnloading :isWaiting="$fetchState.pending"/> </form> </div> </div> - <div class="row" v-if="retour && !isWaiting"> + <div class="row" v-if="retour && !$fetchState.pending"> <div class="col-8 m-auto"> <p v-if="retour.errors" class="alert alert-danger">{{ retour.errors }}</p> <div class="table-responsive" v-else> -- GitLab