Skip to content

Commit 529898b

Browse files
authored
fix: keep versions modal options in query params (#1725)
1 parent df68e0f commit 529898b

File tree

2 files changed

+19
-3
lines changed

2 files changed

+19
-3
lines changed

app/components/Package/Versions.vue

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@ function closeDistributionModal() {
6868
query: {
6969
...route.query,
7070
modal: undefined,
71+
grouping: undefined,
72+
recent: undefined,
73+
lowUsage: undefined,
7174
},
7275
})
7376

app/composables/useVersionDistribution.ts

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,12 @@ interface ChartDataItem {
2121
* @returns Reactive state and computed chart data
2222
*/
2323
export function useVersionDistribution(packageName: MaybeRefOrGetter<string>) {
24-
const groupingMode = ref<VersionGroupingMode>('major')
25-
const showRecentOnly = ref(false)
26-
const showLowUsageVersions = ref(false)
24+
const groupingMode = useRouteQuery<VersionGroupingMode>('grouping', 'major', {
25+
transform: (v: string) => (v === 'minor' ? 'minor' : 'major'),
26+
mode: 'replace',
27+
})
28+
const showRecentOnly = useBooleanRouteQuery('recent', false)
29+
const showLowUsageVersions = useBooleanRouteQuery('lowUsage', false)
2730
const pending = ref(false)
2831
const error = ref<Error | null>(null)
2932
const data = ref<VersionDistributionResponse | null>(null)
@@ -173,3 +176,13 @@ export function useVersionDistribution(packageName: MaybeRefOrGetter<string>) {
173176
fetchDistribution,
174177
}
175178
}
179+
180+
function useBooleanRouteQuery(key: string, defaultValue = false) {
181+
return useRouteQuery(key, defaultValue ? 'true' : 'false', {
182+
transform: {
183+
get: (v: string) => v === 'true',
184+
set: (v: boolean) => (v ? 'true' : 'false'),
185+
},
186+
mode: 'replace',
187+
})
188+
}

0 commit comments

Comments
 (0)