diff --git a/apps/frontend/src/components/ui/NavTabs.vue b/apps/frontend/src/components/ui/NavTabs.vue index ea5c2e596..dcff79099 100644 --- a/apps/frontend/src/components/ui/NavTabs.vue +++ b/apps/frontend/src/components/ui/NavTabs.vue @@ -11,6 +11,7 @@ v-show="link.shown ?? true" :key="link.href" ref="tabLinkElements" + :replace="replace" :to="query ? (link.href ? `?${query}=${link.href}` : '?') : link.href" class="button-animation z-[1] flex flex-row items-center gap-2 px-4 py-2 focus:rounded-full" :class="getSSRFallbackClasses(index)" @@ -71,6 +72,7 @@ interface Tab { const props = withDefaults( defineProps<{ + replace?: boolean links: Tab[] query?: string mode?: 'navigation' | 'local' diff --git a/apps/frontend/src/pages/[type]/[id].vue b/apps/frontend/src/pages/[type]/[id].vue index c79e98485..0339674af 100644 --- a/apps/frontend/src/pages/[type]/[id].vue +++ b/apps/frontend/src/pages/[type]/[id].vue @@ -100,12 +100,12 @@ () => { debug('on-show fired') loadVersions() - navigateTo({ query: route.query, hash: '#download' }) + navigateTo({ query: route.query, hash: '#download' }, { replace: true }) } " :on-hide=" () => { - navigateTo({ query: route.query, hash: '' }) + navigateTo({ query: route.query, hash: '' }, { replace: true }) } " > @@ -243,18 +243,21 @@ platformAccordion.open() } - navigateTo({ - query: { - ...route.query, - ...(userSelectedGameVersion && { - version: userSelectedGameVersion, - }), - ...(userSelectedPlatform && { - loader: userSelectedPlatform, - }), + navigateTo( + { + query: { + ...route.query, + ...(userSelectedGameVersion && { + version: userSelectedGameVersion, + }), + ...(userSelectedPlatform && { + loader: userSelectedPlatform, + }), + }, + hash: route.hash, }, - hash: route.hash, - }) + { replace: true }, + ) } " > @@ -344,18 +347,21 @@ gameVersionAccordion.open() } - navigateTo({ - query: { - ...route.query, - ...(userSelectedGameVersion && { - version: userSelectedGameVersion, - }), - ...(userSelectedPlatform && { - loader: userSelectedPlatform, - }), + navigateTo( + { + query: { + ...route.query, + ...(userSelectedGameVersion && { + version: userSelectedGameVersion, + }), + ...(userSelectedPlatform && { + loader: userSelectedPlatform, + }), + }, + hash: route.hash, }, - hash: route.hash, - }) + { replace: true }, + ) } " > @@ -1009,7 +1015,7 @@