From d809eb97b9509f2788a08a5438f6ad1193480225 Mon Sep 17 00:00:00 2001 From: Vida Xie Date: Tue, 27 Jan 2026 10:11:50 +0800 Subject: [PATCH 1/2] fix(PackageVersions): make other versions list expand correctly --- app/components/PackageVersions.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/components/PackageVersions.vue b/app/components/PackageVersions.vue index afdbe961c9..b4166d4ef7 100644 --- a/app/components/PackageVersions.vue +++ b/app/components/PackageVersions.vue @@ -120,7 +120,7 @@ const tagVersions = ref>(new Map()) const loadingTags = ref>(new Set()) const otherVersionsExpanded = shallowRef(false) -const otherMajorGroups = shallowRef< +const otherMajorGroups = ref< Array<{ major: number; versions: VersionDisplay[]; expanded: boolean }> >([]) const otherVersionsLoading = shallowRef(false) From 414af59c9203274153881eedcace643c8e484632 Mon Sep 17 00:00:00 2001 From: Vida Xie Date: Tue, 27 Jan 2026 10:30:51 +0800 Subject: [PATCH 2/2] fix: use new Set to handle expand status --- app/components/PackageVersions.vue | 33 ++++++++++++++++++------------ 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/app/components/PackageVersions.vue b/app/components/PackageVersions.vue index b4166d4ef7..9494041e32 100644 --- a/app/components/PackageVersions.vue +++ b/app/components/PackageVersions.vue @@ -120,9 +120,8 @@ const tagVersions = ref>(new Map()) const loadingTags = ref>(new Set()) const otherVersionsExpanded = shallowRef(false) -const otherMajorGroups = ref< - Array<{ major: number; versions: VersionDisplay[]; expanded: boolean }> ->([]) +const expandedMajorGroups = ref>(new Set()) +const otherMajorGroups = shallowRef>([]) const otherVersionsLoading = shallowRef(false) // Cached full version list (local to component instance) @@ -222,8 +221,8 @@ function processLoadedVersions(allVersions: PackageVersionInfo[]) { otherMajorGroups.value = sortedMajors.map(major => ({ major, versions: byMajor.get(major)!, - expanded: false, })) + expandedMajorGroups.value.clear() } // Expand a tag row @@ -277,10 +276,11 @@ async function expandOtherVersions() { } // Toggle a major group -function toggleMajorGroup(index: number) { - const group = otherMajorGroups.value[index] - if (group) { - group.expanded = !group.expanded +function toggleMajorGroup(major: number) { + if (expandedMajorGroups.value.has(major)) { + expandedMajorGroups.value.delete(major) + } else { + expandedMajorGroups.value.add(major) } } @@ -497,20 +497,24 @@ function getTagVersions(tag: string): VersionDisplay[] {