Skip to content

Commit fd6da5e

Browse files
committed
refactor: use object-syntax diff route
1 parent 33dd131 commit fd6da5e

3 files changed

Lines changed: 22 additions & 5 deletions

File tree

app/pages/diff/[[org]]/[packageName]/v/[versionRange].vue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<script setup lang="ts">
22
import type { CompareResponse, FileChange } from '#shared/types'
3-
import { packageRoute } from '~/utils/router'
3+
import { diffRoute, packageRoute } from '~/utils/router'
44
55
definePageMeta({
66
name: 'diff',
@@ -91,10 +91,10 @@ const groupedDeps = computed(() => {
9191
})
9292
9393
const fromVersionUrlPattern = computed(() => {
94-
return `/diff/${packageName.value}/v/{version}...${toVersion.value}`
94+
return router.resolve(diffRoute(packageName.value, '{version}', toVersion.value)).href
9595
})
9696
const toVersionUrlPattern = computed(() => {
97-
return `/diff/${packageName.value}/v/${fromVersion.value}...{version}`
97+
return router.resolve(diffRoute(packageName.value, fromVersion.value, '{version}')).href
9898
})
9999
100100
useSeoMeta({

app/pages/package/[[org]]/[name].vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -883,7 +883,7 @@ const showSkeleton = shallowRef(false)
883883
displayVersion && latestVersion && displayVersion.version !== latestVersion.version
884884
"
885885
variant="button-secondary"
886-
:to="`/diff/${pkg.name}/v/${displayVersion.version}...${latestVersion.version}`"
886+
:to="diffRoute(pkg.name, displayVersion.version, latestVersion.version)"
887887
classicon="i-lucide:diff"
888888
>
889889
{{ $t('compare.compare_versions') }}
@@ -1046,7 +1046,7 @@ const showSkeleton = shallowRef(false)
10461046
class="sm:hidden"
10471047
>
10481048
<NuxtLink
1049-
:to="`/diff/${pkg.name}/v/${displayVersion.version}...${latestVersion.version}`"
1049+
:to="diffRoute(pkg.name, displayVersion.version, latestVersion.version)"
10501050
class="link-subtle font-mono text-sm inline-flex items-center gap-1.5"
10511051
>
10521052
<span class="i-lucide:diff w-4 h-4" aria-hidden="true" />

app/utils/router.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,20 @@ export function packageRoute(packageName: string, version?: string | null): Rout
2222
},
2323
}
2424
}
25+
26+
export function diffRoute(
27+
packageName: string,
28+
fromVersion: string,
29+
toVersion: string,
30+
): RouteLocationRaw {
31+
const [org, name = ''] = packageName.startsWith('@') ? packageName.split('/') : ['', packageName]
32+
33+
return {
34+
name: 'diff',
35+
params: {
36+
org: org || undefined,
37+
packageName: name,
38+
versionRange: `${fromVersion}...${toVersion}`,
39+
},
40+
}
41+
}

0 commit comments

Comments
 (0)