'use client'; import { MagnifyingGlassIcon } from '@heroicons/react/24/outline'; import { useSearchParams, useRouter, usePathname } from 'next/navigation'; import { useDebouncedCallback } from 'use-debounce'; export default function Search({ placeholder }: { placeholder: string }) { const searchParam = useSearchParams(); const pathName = usePathname(); const { replace } = useRouter(); const handlerSearch = useDebouncedCallback((term: string) => { const params = new URLSearchParams(searchParam); if (term) { params.set('query', term); } else { params.delete('query'); } replace(`${pathName}?${params.toString()}`); }, 300); return (
handlerSearch(e.target.value)} defaultValue={searchParam.get('query')?.toString()} />
); }