diff --git a/frontend/app.config.ts b/frontend/app.config.ts new file mode 100644 index 0000000000000000000000000000000000000000..9aaf9e2c6a297b38db1e5d45d2b42bac474457a4 --- /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 2af2637362ebe70fd959ea867fe01035ad398851..1c943bc29a50f035c504c3dfcbeb46ddb2779ae0 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 08a360b5558d9c5757fb72c9132e382238de3692..7147d75c9c9f9e6eb886244dae2cde77b208a590 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 e1469c6ef87749d1e4153faa2125db17e7a5ff3c..9b22fd40afa02141c176af2d6ac26f174576719f 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 e1cd81ed3b0ed5b6e53c66ff9cfeacea9fd5075c..c6ebe45bb342c3582bb25c55575f15b24758716c 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: [