File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -41,6 +41,8 @@ const packageName = computed(() => parsedRoute.value.packageName)
4141const fromVersion = computed (() => parsedRoute .value .range ?.from ?? ' ' )
4242const toVersion = computed (() => parsedRoute .value .range ?.to ?? ' ' )
4343
44+ const router = useRouter ()
45+ const initializedFromQuery = ref (false )
4446const { data : pkg } = usePackage (packageName )
4547
4648const { data : compare, status : compareStatus } = useFetch <CompareResponse >(
@@ -68,6 +70,31 @@ const filteredChanges = computed(() => {
6870 return allChanges .value .filter (f => f .type === fileFilter .value )
6971})
7072
73+ // Sync selection with ?file= query for shareable links
74+ watch (
75+ () => route .query .file ,
76+ filePath => {
77+ if (initializedFromQuery .value || ! filePath || ! compare .value ) return
78+ const match = allChanges .value .find (f => f .path === filePath )
79+ if (match ) {
80+ selectedFile .value = match
81+ initializedFromQuery .value = true
82+ }
83+ },
84+ { immediate: true },
85+ )
86+
87+ watch (
88+ selectedFile ,
89+ file => {
90+ const query = { ... route .query }
91+ if (file ?.path ) query .file = file .path
92+ else delete query .file
93+ router .replace ({ query })
94+ },
95+ { deep: false },
96+ )
97+
7198const groupedDeps = computed (() => {
7299 if (! compare .value ?.dependencyChanges ) return new Map ()
73100
You can’t perform that action at this time.
0 commit comments