'use client'; import {MagnifyingGlassIcon} from '@heroicons/react/24/outline'; import {usePathname, useRouter, useSearchParams} from "next/navigation"; import {useDebouncedCallback} from "use-debounce"; export default function Search({placeholder}: { placeholder: string }) { const pathname = usePathname(); const { replace } = useRouter(); const searchParams = useSearchParams(); const handleSearch = useDebouncedCallback((term) => { console.log(`searching for ${term}`) const params = new URLSearchParams(searchParams); params.set('page', '1'); if (term) { params.set('query', term); } else { params.delete('query'); } replace(`${pathname}?${params.toString()}`); // params.toString() translates this input into a URL-friendly format }, 500); return (