From 71fc464ad729edefd7b2199d5e0176ac2cb9c3bb Mon Sep 17 00:00:00 2001 From: Remi PLANEL <rplanel@pasteur.fr> Date: Thu, 5 Oct 2023 11:24:29 +0200 Subject: [PATCH] Make refseq path handle baseUrl --- components/Nav/Navbar.vue | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/components/Nav/Navbar.vue b/components/Nav/Navbar.vue index 1d807fa7..1e6de6d7 100644 --- a/components/Nav/Navbar.vue +++ b/components/Nav/Navbar.vue @@ -38,6 +38,7 @@ <script setup lang="ts"> // import { useCustomTheme } from '~/composables/useCustomTheme' import { useDisplay, useTheme } from "vuetify"; +import { withTrailingSlash, withLeadingSlash, joinURL } from "ufo"; const runtimeConfig = useRuntimeConfig(); const { navigation } = useContent(); @@ -47,13 +48,28 @@ const theme = useTheme(); function toggleTheme() { theme.global.name.value = theme.global.current.value.dark ? "light" : "dark"; } + +const refSeqPath = ref("/refseq"); + +const refinedRefSeqPath = computed(() => { + if (refSeqPath.value?.startsWith("/") && !refSeqPath.value.startsWith("//")) { + const _base = withLeadingSlash( + withTrailingSlash(useRuntimeConfig().app.baseURL) + ); + if (_base !== "/" && !refSeqPath.value.startsWith(_base)) { + return joinURL(_base, refSeqPath.value); + } + } + return refSeqPath; +}); + const sections = ref([ { id: "webservice", label: "webservice", href: runtimeConfig.public.defenseFinderWebservice, }, - { id: "refseq", label: "REFSEQ", href: "/refseq" }, + { id: "refseq", label: "REFSEQ", href: refinedRefSeqPath }, ]); const drawer = ref(true); -- GitLab