Skip to content

Commit 8a3171d

Browse files
committed
Fix search always resetting back to page 1
1 parent e25d726 commit 8a3171d

File tree

1 file changed

+26
-2
lines changed

1 file changed

+26
-2
lines changed

apps/app-frontend/src/pages/Browse.vue

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,8 @@ const {
162162
createPageParams,
163163
} = useSearch(projectTypes, tags, instanceFilters)
164164
165+
const previousFilterState = ref('')
166+
165167
const offline = ref(!navigator.onLine)
166168
window.addEventListener('offline', () => {
167169
offline.value = true
@@ -221,8 +223,21 @@ async function refreshSearch() {
221223
)
222224
}
223225
}
224-
results.value = rawResults.result
225-
currentPage.value = 1
226+
results.value = rawResults.result
227+
228+
const currentFilterState = JSON.stringify({
229+
query: query.value,
230+
filters: currentFilters.value,
231+
sort: currentSortType.value,
232+
maxResults: maxResults.value,
233+
projectTypes: projectTypes.value
234+
})
235+
236+
if (previousFilterState.value && previousFilterState.value !== currentFilterState) {
237+
currentPage.value = 1
238+
}
239+
240+
previousFilterState.value = currentFilterState
226241
227242
const persistentParams: LocationQuery = {}
228243
@@ -382,6 +397,15 @@ const handleOptionsClick = (args) => {
382397
}
383398
384399
await refreshSearch()
400+
401+
// Initialize previousFilterState after first search
402+
previousFilterState.value = JSON.stringify({
403+
query: query.value,
404+
filters: currentFilters.value,
405+
sort: currentSortType.value,
406+
maxResults: maxResults.value,
407+
projectTypes: projectTypes.value
408+
})
385409
</script>
386410

387411
<template>

0 commit comments

Comments
 (0)