From fc08134f321a94ee21f8de59433d6daad8375fab Mon Sep 17 00:00:00 2001 From: MatteoGabriele Date: Fri, 6 Feb 2026 17:53:52 +0100 Subject: [PATCH 01/16] refactor: create a general search box --- app/components/AppHeader.vue | 36 ++++++-- app/components/Header/SearchBox.vue | 134 ---------------------------- app/components/SearchBox.vue | 98 ++++++++++++++++++++ app/pages/index.vue | 74 +++------------ 4 files changed, 137 insertions(+), 205 deletions(-) delete mode 100644 app/components/Header/SearchBox.vue create mode 100644 app/components/SearchBox.vue diff --git a/app/components/AppHeader.vue b/app/components/AppHeader.vue index d4dd80d82..d476e5951 100644 --- a/app/components/AppHeader.vue +++ b/app/components/AppHeader.vue @@ -21,6 +21,26 @@ const isMobile = useIsMobile() const isSearchExpandedManually = shallowRef(false) const searchBoxRef = useTemplateRef('searchBoxRef') +const searchQuery = shallowRef('') +watch( + () => route.query.q, + queryValue => { + searchQuery.value = normalizeSearchParam(queryValue) + }, + { immediate: true }, +) + +async function handleSearchSubmit() { + if (!searchQuery.value) { + return + } + + await navigateTo({ + name: 'search', + query: { q: searchQuery.value }, + }) +} + // On search page, always show search expanded on mobile const isOnHomePage = computed(() => route.name === 'index') const isOnSearchPage = computed(() => route.name === 'search') @@ -88,7 +108,7 @@ onKeyStroke(