'use client'; import React, { useState, useEffect } from 'react'; import { useRouter, useSearchParams } from 'next/navigation'; import { Search } from 'lucide-react'; export default function TransactionSearch() { const router = useRouter(); const searchParams = useSearchParams(); const [searchTerm, setSearchTerm] = useState(searchParams.get('q') || ''); useEffect(() => { const currentQ = searchParams.get('q') || ''; if (searchTerm === currentQ) return; const delayDebounceFn = setTimeout(() => { const params = new URLSearchParams(searchParams.toString()); if (searchTerm) { params.set('q', searchTerm); } else { params.delete('q'); } router.push(`/admin/transactions?${params.toString()}`); }, 500); return () => clearTimeout(delayDebounceFn); }, [searchTerm, searchParams, router]); return (