"use client"; import { useRouter, usePathname } from "next/navigation"; import { useTransition } from "react"; import { Search } from "lucide-react"; const inputStyle: React.CSSProperties = { border: "2px solid var(--border)", background: "var(--background)", outline: "none", padding: "0.4rem 0.75rem", fontSize: "0.8rem", fontFamily: "inherit", }; export function UsersSearch({ initialSearch, initialRole }: { initialSearch: string; initialRole: string }) { const router = useRouter(); const pathname = usePathname(); const [, startTransition] = useTransition(); function update(search: string, role: string) { const params = new URLSearchParams(); if (search) params.set("search", search); if (role) params.set("role", role); startTransition(() => router.push(`${pathname}?${params.toString()}`)); } return (
(e.currentTarget.style.borderColor = "var(--foreground)")} onBlur={(e) => { e.currentTarget.style.borderColor = "var(--border)"; update(e.currentTarget.value.trim(), initialRole); }} onKeyDown={(e) => { if (e.key === "Enter") e.currentTarget.blur(); }} />
{(initialSearch || initialRole) && ( )}
); }