diff --git a/src/components/search/SearchBar.astro b/src/components/search/SearchBar.astro index 19cf271..b5e48bd 100644 --- a/src/components/search/SearchBar.astro +++ b/src/components/search/SearchBar.astro @@ -44,8 +44,12 @@ const placeholder = getRandom(placeholders) searchForm?.addEventListener('submit', (ev: Event) => { ev.preventDefault() const formData = new FormData(searchForm) + const query = (formData.get('query') as string).trim() + + if (!query || query.length < 1) return + const url = new URL('/search', window.location.origin) - url.searchParams.append('q', formData.get('query') as string) + url.searchParams.append('q', query) window.location.href = url.toString() }) diff --git a/src/pages/search.astro b/src/pages/search.astro index 7e76522..841124c 100644 --- a/src/pages/search.astro +++ b/src/pages/search.astro @@ -4,10 +4,10 @@ import * as m from 'paraglide/messages' import AlbumSearch from 'components/search/AlbumSearch.astro' import BaseLayout from 'layouts/base.astro' -const query = Astro.url.searchParams.get('q') +const query = (Astro.url.searchParams.get('q') ?? '').trim() const page = Astro.url.searchParams.get('page') || '1' -if (!query) return Astro.redirect(404) +if (!query || query.length < 1) return Astro.redirect(404) ---