@@ -162,6 +162,8 @@ const {
162
162
createPageParams,
163
163
} = useSearch (projectTypes , tags , instanceFilters )
164
164
165
+ const previousFilterState = ref (' ' )
166
+
165
167
const offline = ref (! navigator .onLine )
166
168
window .addEventListener (' offline' , () => {
167
169
offline .value = true
@@ -221,8 +223,21 @@ async function refreshSearch() {
221
223
)
222
224
}
223
225
}
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
226
241
227
242
const persistentParams: LocationQuery = {}
228
243
@@ -382,6 +397,15 @@ const handleOptionsClick = (args) => {
382
397
}
383
398
384
399
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
+ })
385
409
</script >
386
410
387
411
<template >
0 commit comments