"use client"; import { useEffect, useRef, useState } from "react"; import { Search, X } from "lucide-react"; interface Props { value: string; onChange: (v: string) => void; placeholder?: string; } export function HeaderSearchBtn({ value, onChange, placeholder = "Search…" }: Props) { const [open, setOpen] = useState(false); const ref = useRef(null); useEffect(() => { function handleClick(e: MouseEvent) { if (ref.current && !ref.current.contains(e.target as Node)) { setOpen(false); onChange(""); } } if (open) document.addEventListener("mousedown", handleClick); return () => document.removeEventListener("mousedown", handleClick); }, [open, onChange]); return (
{open ? (
onChange(e.target.value)} className="flex-1 text-sm text-gray-700 placeholder:text-gray-400 outline-none bg-transparent" />
) : ( )}
); }