diff --git a/app/components/Header/SearchBox.vue b/app/components/Header/SearchBox.vue index 4aeb910c9..9c12d635d 100644 --- a/app/components/Header/SearchBox.vue +++ b/app/components/Header/SearchBox.vue @@ -16,7 +16,7 @@ const showSearchBar = computed(() => { return route.name !== 'index' }) -const { model: searchQuery, flushUpdateUrlQuery } = useGlobalSearch() +const { model: searchQuery, flushUpdateUrlQuery } = useGlobalSearch('header') function handleSubmit() { flushUpdateUrlQuery() diff --git a/app/composables/useGlobalSearch.ts b/app/composables/useGlobalSearch.ts index a7c79ac68..6e0f0a59a 100644 --- a/app/composables/useGlobalSearch.ts +++ b/app/composables/useGlobalSearch.ts @@ -4,7 +4,7 @@ import { debounce } from 'perfect-debounce' // Pages that have their own local filter using ?q const pagesWithLocalFilter = new Set(['~username', 'org']) -export function useGlobalSearch() { +export function useGlobalSearch(place: 'header' | 'content' = 'content') { const { searchProvider } = useSearchProvider() const searchProviderValue = computed(() => { const p = normalizeSearchParam(route.query.p) @@ -32,7 +32,7 @@ export function useGlobalSearch() { const updateUrlQueryImpl = (value: string, provider: 'npm' | 'algolia') => { const isSameQuery = route.query.q === value && route.query.p === provider // Don't navigate away from pages that use ?q for local filtering - if (pagesWithLocalFilter.has(route.name as string) || isSameQuery) { + if ((pagesWithLocalFilter.has(route.name as string) && place === 'content') || isSameQuery) { return }