diff --git a/apps/frontend/src/components/ui/NavTabs.vue b/apps/frontend/src/components/ui/NavTabs.vue index 48ecc5dee7..dc22d37b49 100644 --- a/apps/frontend/src/components/ui/NavTabs.vue +++ b/apps/frontend/src/components/ui/NavTabs.vue @@ -10,6 +10,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)" @@ -70,6 +71,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 b41727d5b2..9f9a1f66b6 100644 --- a/apps/frontend/src/pages/[type]/[id].vue +++ b/apps/frontend/src/pages/[type]/[id].vue @@ -97,12 +97,12 @@ ref="downloadModal" :on-show=" () => { - 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 }) } " > @@ -240,18 +240,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 }, + ) } " > @@ -341,18 +344,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 }, + ) } " > @@ -907,7 +913,7 @@