"use client"; import { Suspense, useEffect, useState } from "react"; import { useTranslations } from "next-intl"; import { useRouter, usePathname } from "@/i18n/navigation"; import { useSearchParams } from "next/navigation"; function HeaderCatalogSearchInner() { const t = useTranslations("nav"); const router = useRouter(); const pathname = usePathname(); const searchParams = useSearchParams(); const qParam = pathname === "/catalog" ? (searchParams.get("q") ?? "") : ""; const [q, setQ] = useState(qParam); useEffect(() => { setQ(qParam); }, [qParam]); function onSubmit(e: React.FormEvent) { e.preventDefault(); const trimmed = q.trim(); const params = new URLSearchParams(); if (trimmed) params.set("q", trimmed); router.push(`/catalog${params.toString() ? `?${params.toString()}` : ""}`); } return (
setQ(e.target.value)} placeholder={t("searchPlaceholder")} className="w-full rounded-full border border-neutral-200 bg-neutral-50 py-2.5 pl-11 pr-4 text-sm text-neutral-900 shadow-inner shadow-neutral-200/40 outline-none ring-blue-600/0 transition placeholder:text-neutral-400 focus:border-blue-600 focus:bg-white focus:ring-2 focus:ring-blue-600/20" />
); } export function HeaderCatalogSearch() { return ( } > ); }