@@ -162,6 +162,8 @@ const {
162162 createPageParams,
163163} = useSearch (projectTypes , tags , instanceFilters )
164164
165+ const previousFilterState = ref (' ' )
166+
165167const offline = ref (! navigator .onLine )
166168window .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
384399await 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