import { useState } from 'react' import { useRouter } from 'next/router' import { IconButton, TextInput } from '@primer/react' import { SearchIcon } from '@primer/octicons-react' import { useTranslation } from 'components/hooks/useTranslation' import { DEFAULT_VERSION, useVersion } from 'components/hooks/useVersion' import { useQuery } from 'components/hooks/useQuery' import { useBreakpoint } from './hooks/useBreakpoint' export function Search() { const router = useRouter() const { query, debug } = useQuery() const [localQuery, setLocalQuery] = useState(query) const { t } = useTranslation('search') const { currentVersion } = useVersion() const upToMediumViewport = useBreakpoint('medium') function redirectSearch() { let asPath = `/${router.locale}` if (currentVersion !== DEFAULT_VERSION) { asPath += `/${currentVersion}` } asPath += '/search' const params = new URLSearchParams({ query: localQuery }) if (debug) { params.set('debug', '1') } asPath += `?${params}` router.push(asPath) } return (
{ event.preventDefault() if (!localQuery.trim()) return redirectSearch() }} > {/* This prevents zooming in on iOS when you touch the search input text area */}
) }