From dc85394096eeedf76aa4e5fa40c38eb5644b9726 Mon Sep 17 00:00:00 2001 From: paidge <paidge_cs@hotmail.com> Date: Mon, 24 Jan 2022 16:35:10 +0100 Subject: [PATCH] Add a star to favorites UID --- components/certif/List.vue | 1 + components/member/List.vue | 1 + nuxt.config.js | 171 ++++++++++++++++++------------------- pages/previsions/index.vue | 6 ++ plugins/functions.js | 13 +++ 5 files changed, 105 insertions(+), 87 deletions(-) create mode 100644 plugins/functions.js diff --git a/components/certif/List.vue b/components/certif/List.vue index b072885..16961d1 100644 --- a/components/certif/List.vue +++ b/components/certif/List.vue @@ -116,6 +116,7 @@ "> <th scope="row" class="py-1"> <div> + <span v-if="$isFavourite(getNeighbor(certif).uid)">★ </span> {{ getNeighbor(certif).uid }} <BadgeCertifStatus :limitDate="getNeighbor(certif).received_certifications.limit" diff --git a/components/member/List.vue b/components/member/List.vue index 3e6814d..f4aa91e 100644 --- a/components/member/List.vue +++ b/components/member/List.vue @@ -15,6 +15,7 @@ :key="member.uid" @click="redirect(member.hash)"> <th scope="row"> + <span v-if="$isFavourite(member.uid)">★ </span> {{ member.uid }} <BadgeCertifStatus :limitDate="member.received_certifications.limit" diff --git a/nuxt.config.js b/nuxt.config.js index 1f08452..4e615b3 100644 --- a/nuxt.config.js +++ b/nuxt.config.js @@ -1,102 +1,99 @@ -import i18n from './i18n' -import webpack from 'webpack' +import i18n from "./i18n" +import webpack from "webpack" export default { - // Disable server-side rendering: https://go.nuxtjs.dev/ssr-mode - ssr: false, + // Disable server-side rendering: https://go.nuxtjs.dev/ssr-mode + ssr: false, - // Target: https://go.nuxtjs.dev/config-target - target: 'static', + // Target: https://go.nuxtjs.dev/config-target + target: "static", - // Global page headers: https://go.nuxtjs.dev/config-head - head: { - title: 'wotwizard-ui', - meta: [ - { charset: 'utf-8' }, - { name: 'viewport', content: 'width=device-width, initial-scale=1' }, - { hid: 'description', name: 'description', content: '' }, - { name: 'format-detection', content: 'telephone=no' } - ], - link: [ - { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' } - ] - }, + // Global page headers: https://go.nuxtjs.dev/config-head + head: { + title: "wotwizard-ui", + meta: [ + { charset: "utf-8" }, + { name: "viewport", content: "width=device-width, initial-scale=1" }, + { hid: "description", name: "description", content: "" }, + { name: "format-detection", content: "telephone=no" } + ], + link: [{ rel: "icon", type: "image/x-icon", href: "/favicon.ico" }] + }, - // Global CSS: https://go.nuxtjs.dev/config-css - css: [ - '@/assets/css/style.scss' - ], + // Global CSS: https://go.nuxtjs.dev/config-css + css: ["@/assets/css/style.scss"], - // Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins - plugins: [ - '~plugins/filters.js', - '~plugins/bootstrap.js' - ], + // Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins + plugins: [ + "~plugins/functions.js", + "~plugins/filters.js", + "~plugins/bootstrap.js" + ], - // Auto import components: https://go.nuxtjs.dev/config-components - components: true, + // Auto import components: https://go.nuxtjs.dev/config-components + components: true, - // Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules - buildModules: [ - // https://go.nuxtjs.dev/pwa - '@nuxtjs/pwa' - ], + // Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules + buildModules: [ + // https://go.nuxtjs.dev/pwa + "@nuxtjs/pwa" + ], - // Modules: https://go.nuxtjs.dev/config-modules - modules: [ - // https://github.com/nuxt-community/apollo-module - '@nuxtjs/apollo', - // https://i18n.nuxtjs.org - '@nuxtjs/i18n' - ], + // Modules: https://go.nuxtjs.dev/config-modules + modules: [ + // https://github.com/nuxt-community/apollo-module + "@nuxtjs/apollo", + // https://i18n.nuxtjs.org + "@nuxtjs/i18n" + ], - i18n: { - defaultLocale: 'fr', - locales: [ - { - code: 'en', - name: 'English' - }, - { - code: 'fr', - name: 'Français' - }, - { - code: 'es', - name: 'Español' - } - ], - detectBrowserLanguage: { - alwaysRedirect: true - }, - vueI18n: i18n - }, + i18n: { + defaultLocale: "fr", + locales: [ + { + code: "en", + name: "English" + }, + { + code: "fr", + name: "Français" + }, + { + code: "es", + name: "Español" + } + ], + detectBrowserLanguage: { + alwaysRedirect: true + }, + vueI18n: i18n + }, - // PWA module configuration: https://go.nuxtjs.dev/pwa - pwa: { - manifest: { - lang: 'fr' - } - }, + // PWA module configuration: https://go.nuxtjs.dev/pwa + pwa: { + manifest: { + lang: "fr" + } + }, - apollo: { - clientConfigs: { - default: '~/graphql/clients/coindufeu' - //you can setup multiple clients with arbitrary names - //, myotherclient : '~/graphql/clients/otherclient' - }, - }, + apollo: { + clientConfigs: { + default: "~/graphql/clients/coindufeu" + //you can setup multiple clients with arbitrary names + //, myotherclient : '~/graphql/clients/otherclient' + } + }, - router: { - linkExactActiveClass: 'active' - }, + router: { + linkExactActiveClass: "active" + }, - // Build Configuration: https://go.nuxtjs.dev/config-build - build: { - plugins: [ - new webpack.ProvidePlugin({ - $: "jquery" - }) - ], - } + // Build Configuration: https://go.nuxtjs.dev/config-build + build: { + plugins: [ + new webpack.ProvidePlugin({ + $: "jquery" + }) + ] + } } diff --git a/pages/previsions/index.vue b/pages/previsions/index.vue index 1d1046e..61f362a 100644 --- a/pages/previsions/index.vue +++ b/pages/previsions/index.vue @@ -60,6 +60,9 @@ ) "> <th scope="row"> + <span v-if="$isFavourite(forecast.member.uid)" + >★ </span + > {{ forecast.member.uid }} <BadgeStatus :membre="forecast.member" /> </th> @@ -114,6 +117,9 @@ v-for="member in forecast.forecasts" :key="member.member.uid"> <div class="mr-3"> + <span v-if="$isFavourite(member.member.uid)" + >★ </span + > {{ member.member.uid }} <BadgeStatus :membre="member.member" /> </div> diff --git a/plugins/functions.js b/plugins/functions.js new file mode 100644 index 0000000..0c5efde --- /dev/null +++ b/plugins/functions.js @@ -0,0 +1,13 @@ +export default (context, inject) => { + const isFavourite = (uid) => { + if (!localStorage.favourites) { + return false + } else if (JSON.parse(localStorage.favourites).includes(uid)) { + return true + } + return false + } + inject("isFavourite", isFavourite) + // For Nuxt <= 2.12, also add 👇 + // context.$hello = hello +} -- GitLab