'use client'; import { useRouter, useSearchParams } from 'next/navigation'; import { useEffect, useState } from 'react'; export function KnowledgeSearch() { const router = useRouter(); const searchParams = useSearchParams(); const [q, setQ] = useState(searchParams.get('q') ?? ''); useEffect(() => { const handle = setTimeout(() => { const params = new URLSearchParams(); if (q.trim()) params.set('q', q.trim()); router.replace(`/my/knowledge${params.toString() ? `?${params.toString()}` : ''}`); }, 300); return () => clearTimeout(handle); // eslint-disable-next-line react-hooks/exhaustive-deps }, [q]); return ( setQ(e.target.value)} placeholder="Search the knowledge base…" className="w-full rounded-lg border border-gray-300 px-3 py-2.5 text-sm focus:outline-none focus:ring-2 focus:ring-indigo-500" /> ); }