"use client"; import { useRouter, useSearchParams } from "next/navigation"; import { useState } from "react"; interface Props { vessels: { id: string; name: string }[]; } export function ApprovalsSearch({ vessels }: Props) { const router = useRouter(); const sp = useSearchParams(); const [q, setQ] = useState(sp.get("q") ?? ""); const [vesselId, setVesselId] = useState(sp.get("vesselId") ?? ""); const [dateFrom, setDateFrom] = useState(sp.get("dateFrom") ?? ""); const [dateTo, setDateTo] = useState(sp.get("dateTo") ?? ""); function apply() { const params = new URLSearchParams(); if (q.trim()) params.set("q", q.trim()); if (vesselId) params.set("vesselId", vesselId); if (dateFrom) params.set("dateFrom", dateFrom); if (dateTo) params.set("dateTo", dateTo); router.push(`/approvals?${params.toString()}`); } function clear() { setQ(""); setVesselId(""); setDateFrom(""); setDateTo(""); router.push("/approvals"); } const hasFilters = q || vesselId || dateFrom || dateTo; return (