···2626// Local input value (updates immediately as user types)
2727const searchQuery = ref((route.query.q as string) ?? '')
28282929+// Pages that have their own local filter using ?q
3030+const pagesWithLocalFilter = new Set(['~username', 'org'])
3131+2932// Debounced URL update for search query
3033const updateUrlQuery = debounce((value: string) => {
3434+ // Don't navigate away from pages that use ?q for local filtering
3535+ if (pagesWithLocalFilter.has(route.name as string)) {
3636+ return
3737+ }
3138 if (route.name === 'search') {
3239 router.replace({ query: { q: value || undefined } })
3340 return
···5360watch(
5461 () => route.query.q,
5562 urlQuery => {
6363+ // Don't sync from pages that use ?q for local filtering
6464+ if (pagesWithLocalFilter.has(route.name as string)) {
6565+ return
6666+ }
5667 const value = (urlQuery as string) ?? ''
5768 if (searchQuery.value !== value) {
5869 searchQuery.value = value