From 737cf335b1baa6b4ae21585342fe237f2bbdb96c Mon Sep 17 00:00:00 2001 From: Remi PLANEL <rplanel@pasteur.fr> Date: Wed, 19 Feb 2025 10:47:30 +0100 Subject: [PATCH] add defenseFinder software and model version --- frontend/app.config.ts | 12 ++++++++++++ frontend/components/Footer.vue | 20 +++++++++++++++++--- frontend/components/Main.vue | 6 +++++- frontend/middleware/maintenance.global.ts | 3 ++- frontend/nuxt.config.ts | 5 +++-- 5 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 frontend/app.config.ts diff --git a/frontend/app.config.ts b/frontend/app.config.ts new file mode 100644 index 0000000..9aaf9e2 --- /dev/null +++ b/frontend/app.config.ts @@ -0,0 +1,12 @@ +export default defineAppConfig({ + defenseFinder: { + software: { + src: "https://github.com/mdmparis/defense-finder/releases/tag", + version: "v2.0.0", + }, + models: { + src:"https://github.com/mdmparis/defense-finder-models/releases/tag", + version: "2.0.2", + } + } +}) \ No newline at end of file diff --git a/frontend/components/Footer.vue b/frontend/components/Footer.vue index 2af2637..1c943bc 100644 --- a/frontend/components/Footer.vue +++ b/frontend/components/Footer.vue @@ -1,5 +1,6 @@ <script setup lang="ts"> const runtimeConfig = useRuntimeConfig(); +const { defenseFinder } = useAppConfig() const tagUrl = computed(() => { return `https://gitlab.pasteur.fr/mdm-lab/website/-/releases/v${runtimeConfig.public.version}` }) @@ -7,9 +8,22 @@ const tagUrl = computed(() => { <template> <v-footer absolute="true" text-center d-flex flex-column> <div class="px-4 text-center w-100"> - <v-btn size="small" prepend-icon="mdi-tag" variant="plain" :href="tagUrl" target="_blank"> - v{{ runtimeConfig.public.version }} + <!-- <v-btn size="small" prepend-icon="mdi-tag" variant="plain" :href="tagUrl" target="_blank" class="footer-link"> + Webservice {{ runtimeConfig.public.version }} + </v-btn> --> + <v-btn v-if="defenseFinder?.software" size="small" prepend-icon="mdi-tag" variant="plain" :href="`${defenseFinder?.software.src}/${defenseFinder.software.version}`" target="_blank" class="footer-link"> + DefenseFinder {{ defenseFinder?.software?.version }} </v-btn> + <v-btn size="small" prepend-icon="mdi-tag" variant="plain" :href="`${defenseFinder?.models.src}/${defenseFinder.models.version}`" target="_blank" class="footer-link"> + Models {{ defenseFinder?.models.version }} + </v-btn> + </div> </v-footer> -</template> \ No newline at end of file +</template> + +<style lang="css" scoped> +.footer-link { + text-transform: none; +} +</style> \ No newline at end of file diff --git a/frontend/components/Main.vue b/frontend/components/Main.vue index 08a360b..7147d75 100644 --- a/frontend/components/Main.vue +++ b/frontend/components/Main.vue @@ -42,11 +42,15 @@ function onScroll() { <v-col cols="auto"> <v-card flat color="transparent" :min-width="computedMinWidth" :max-width="props.fluid ? undefined : maxWidth"> - <v-alert v-if="runtimeConfig.public.displayMessage" class="my-5" type="warning" variant="tonal" border="start" prominent> + <v-alert v-if="runtimeConfig.public.displayMessage === true" class="my-5" type="warning" variant="tonal" border="start" prominent> Following an electric maintenance in the datacenter, our web application is currently experiencing technical difficulties and may not be functioning as expected. Our technical team is working diligently to resolve the issue as soon as possible. We apologize for any inconvenience this may cause and appreciate your patience and understanding. </v-alert> + <v-alert v-if="runtimeConfig.public.maintenance.enabled === true" class="my-5" type="warning" variant="tonal" border="start" prominent> + {{ runtimeConfig.public.maintenance.message }} + </v-alert> + <slot /> </v-card> </v-col> diff --git a/frontend/middleware/maintenance.global.ts b/frontend/middleware/maintenance.global.ts index e1469c6..9b22fd4 100644 --- a/frontend/middleware/maintenance.global.ts +++ b/frontend/middleware/maintenance.global.ts @@ -1,7 +1,8 @@ export default defineNuxtRouteMiddleware((to, from) => { const runtimeConfig = useRuntimeConfig() - const isMaintenance = runtimeConfig.public.maintenance + const isMaintenance = runtimeConfig.public.maintenance === true + if (!isMaintenance) return; if (isMaintenance && to.name !== "maintenance") { diff --git a/frontend/nuxt.config.ts b/frontend/nuxt.config.ts index e1cd81e..c6ebe45 100644 --- a/frontend/nuxt.config.ts +++ b/frontend/nuxt.config.ts @@ -7,7 +7,8 @@ export default defineNuxtConfig({ app: { head: { title: "Webservice" - } + }, + }, runtimeConfig: { serverSideApiBaseUrl: "http://defense-finder-api:8000", @@ -16,7 +17,7 @@ export default defineNuxtConfig({ wikiUrl: '/wiki', dfApiPrefix: "/dfapi", version: pkg.version, - displayMessage: false + displayMessage: false, } }, modules: [ -- GitLab